TypeScript - ตัวเลข
TypeScript เช่น JavaScript รองรับค่าตัวเลขเป็นอ็อบเจ็กต์ Number อ็อบเจ็กต์ number แปลงลิเทอรัลตัวเลขเป็นอินสแตนซ์ของคลาสตัวเลข คลาส Number ทำหน้าที่เป็นตัวห่อและเปิดใช้งานการจัดการตัวอักษรตัวเลขเหมือนที่เป็นอ็อบเจ็กต์
ไวยากรณ์
var var_name = new Number(value)
ในกรณีที่อาร์กิวเมนต์ที่ไม่ใช่ตัวเลขถูกส่งเป็นอาร์กิวเมนต์ไปยังตัวสร้างของ Number จะส่งกลับ NaN (Not – a – Number)
ตารางต่อไปนี้แสดงชุดคุณสมบัติของวัตถุ Number -
ส. | คุณสมบัติและคำอธิบาย |
---|---|
1. | MAX_VALUE ค่าที่มากที่สุดที่เป็นไปได้ที่ตัวเลขใน JavaScript สามารถมีได้ 1.7976931348623157E + 308 |
2. | MIN_VALUE ค่าที่น้อยที่สุดที่เป็นไปได้ที่ตัวเลขใน JavaScript สามารถมีได้ 5E-324 |
3. | NaN เท่ากับค่าที่ไม่ใช่ตัวเลข |
4. | NEGATIVE_INFINITY ค่าที่น้อยกว่า MIN_VALUE |
5. | POSITIVE_INFINITY ค่าที่มากกว่า MAX_VALUE |
6. | prototype คุณสมบัติคงที่ของอ็อบเจ็กต์ Number ใช้คุณสมบัติต้นแบบเพื่อกำหนดคุณสมบัติและวิธีการใหม่ให้กับอ็อบเจ็กต์ Number ในเอกสารปัจจุบัน |
7. | constructor ส่งคืนฟังก์ชันที่สร้างอินสแตนซ์ของวัตถุนี้ ตามค่าเริ่มต้นนี่คือวัตถุ Number |
ตัวอย่าง
console.log("TypeScript Number Properties: ");
console.log("Maximum value that a number variable can hold: " + Number.MAX_VALUE);
console.log("The least value that a number variable can hold: " + Number.MIN_VALUE);
console.log("Value of Negative Infinity: " + Number.NEGATIVE_INFINITY);
console.log("Value of Negative Infinity:" + Number.POSITIVE_INFINITY);
ในการคอมไพล์จะสร้างโค้ดเดียวกันใน JavaScript
ผลลัพธ์มีดังนี้ -
TypeScript Number Properties:
Maximum value that a number variable can hold: 1.7976931348623157e+308
The least value that a number variable can hold: 5e-324
Value of Negative Infinity: -Infinity
Value of Negative Infinity:Infinity
ตัวอย่าง: NaN
var month = 0
if( month<=0 || month >12) {
month = Number.NaN
console.log("Month is "+ month)
} else {
console.log("Value Accepted..")
}
ในการคอมไพล์จะสร้างโค้ดเดียวกันใน JavaScript
ผลลัพธ์มีดังนี้ -
Month is NaN
ตัวอย่าง: ต้นแบบ
function employee(id:number,name:string) {
this.id = id
this.name = name
}
var emp = new employee(123,"Smith")
employee.prototype.email = "[email protected]"
console.log("Employee 's Id: "+emp.id)
console.log("Employee's name: "+emp.name)
console.log("Employee's Email ID: "+emp.email)
ในการคอมไพล์จะสร้างโค้ด JavaScript ต่อไปนี้ -
//Generated by typescript 1.8.10
function employee(id, name) {
this.id = id;
this.name = name;
}
var emp = new employee(123, "Smith");
employee.prototype.email = "[email protected]";
console.log("Employee 's Id: " + emp.id);
console.log("Employee's name: " + emp.name);
console.log("Employee's Email ID: " + emp.email);
ผลลัพธ์มีดังนี้ -
Employee’s Id: 123
Emaployee’s name: Smith
Employee’s Email ID: [email protected]
วิธีการจำนวน
อ็อบเจ็กต์ Number มีเฉพาะเมธอดเริ่มต้นที่เป็นส่วนหนึ่งของนิยามของอ็อบเจ็กต์ทุกตัว วิธีการที่ใช้กันทั่วไปบางส่วนมีดังต่อไปนี้ -
ส. | วิธีการและคำอธิบาย |
---|---|
1. | toExponential () บังคับให้ตัวเลขแสดงในรูปแบบเอกซ์โพเนนเชียลแม้ว่าตัวเลขนั้นจะอยู่ในช่วงที่ JavaScript ใช้สัญกรณ์มาตรฐาน |
2. | toFixed () จัดรูปแบบตัวเลขที่มีตัวเลขเฉพาะทางด้านขวาของทศนิยม |
3. | toLocaleString () ส่งคืนเวอร์ชันค่าสตริงของตัวเลขปัจจุบันในรูปแบบที่อาจแตกต่างกันไปตามการตั้งค่าภายในของเบราว์เซอร์ |
4. | toPrecision () กำหนดจำนวนตัวเลขทั้งหมด (รวมทั้งตัวเลขทางซ้ายและขวาของทศนิยม) เพื่อแสดงตัวเลข ความแม่นยำเชิงลบจะทำให้เกิดข้อผิดพลาด |
5. | toString () ส่งกลับการแสดงสตริงของค่าของตัวเลข ฟังก์ชันจะถูกส่งผ่านรัศมีซึ่งเป็นจำนวนเต็มระหว่าง 2 ถึง 36 ซึ่งระบุฐานที่จะใช้แทนค่าตัวเลข |
6. | มูลค่าของ() ส่งคืนค่าดั้งเดิมของตัวเลข |