ES6 - หมายเลข
วัตถุ Number แสดงวันที่เป็นตัวเลขทั้งจำนวนเต็มหรือตัวเลขทศนิยม โดยทั่วไปคุณไม่จำเป็นต้องกังวลเกี่ยวกับวัตถุ Number เนื่องจากเบราว์เซอร์จะแปลงตัวอักษรตัวเลขเป็นอินสแตนซ์ของคลาสตัวเลขโดยอัตโนมัติ
ต่อไปนี้เป็นไวยากรณ์สำหรับการสร้างวัตถุตัวเลข
var val = new Number(number);
ในสถานที่ของ numberหากคุณระบุอาร์กิวเมนต์ที่ไม่ใช่ตัวเลขอาร์กิวเมนต์นั้นจะไม่สามารถแปลงเป็นไฟล์ numberมันจะส่งคืน NaN (Not-a-Number)
คุณสมบัติจำนวน
ซีเนียร์ No | คุณสมบัติและคำอธิบาย |
---|---|
1 | หมายเลข EPSILON ช่วงเวลาที่เล็กที่สุดระหว่างตัวเลขที่แสดงได้สองตัว |
2 | Number.MAX_SAFE_INTEGER จำนวนเต็มปลอดภัยสูงสุดใน JavaScript (2 ^ 53 - 1) |
3 | Number.MAX_VALUE จำนวนที่แสดงค่าบวกได้มากที่สุด |
4 | MIN_SAFE_INTEGER จำนวนเต็มปลอดภัยขั้นต่ำใน JavaScript (- (2 ^ 53 - 1)) |
5 | Number.MIN_VALUE จำนวนที่เป็นค่าบวกที่เล็กที่สุดนั่นคือจำนวนบวกที่ใกล้เคียงกับศูนย์มากที่สุด (โดยไม่ต้องเป็นศูนย์) |
6 | เลขที่น่าน ค่า "ไม่ใช่ตัวเลข" พิเศษ |
7 | Number.NEGATIVE_INFINITY ค่าพิเศษแทนค่าอินฟินิตี้เชิงลบ ส่งคืนเมื่อล้น |
8 | Number.POSITIVE_INFINITY ค่าพิเศษที่แสดงถึงอินฟินิตี้ ส่งคืนเมื่อล้น |
9 | Number.prototype ค่าพิเศษที่แสดงถึงอินฟินิตี้ ส่งคืนเมื่อล้น |
วิธีการจำนวน
ซีเนียร์ No | วิธีการและคำอธิบาย |
---|---|
1 | Number.isNaN () กำหนดว่าค่าที่ส่งผ่านคือ NaN หรือไม่ |
2 | Number.isFinite () กำหนดว่าค่าที่ส่งผ่านเป็นจำนวน จำกัด หรือไม่ |
3 | Number.isInteger () กำหนดว่าค่าที่ส่งผ่านเป็นจำนวนเต็มหรือไม่ |
4 | Number.isSafeInteger () กำหนดว่าค่าที่ส่งผ่านเป็นจำนวนเต็มปลอดภัยหรือไม่ (ตัวเลขระหว่าง - (253 - 1) และ 253-1) |
5 | Number.parseFloat () ค่าจะเหมือนกับ parseFloat () ของ global object |
6 | Number.parseInt () ค่าจะเหมือนกับ parseInt () ของ global object |
วิธีการอินสแตนซ์จำนวน
อ็อบเจ็กต์ Number มีเฉพาะเมธอดเริ่มต้นที่เป็นส่วนหนึ่งของนิยามของอ็อบเจ็กต์ทุกตัว
ซีเนียร์ No | วิธีการและคำอธิบายอินสแตนซ์ |
---|---|
1 | toExponential () ส่งคืนสตริงที่แสดงตัวเลขในสัญกรณ์เอกซ์โพเนนเชียล |
2 | toFixed () ส่งคืนสตริงที่แสดงตัวเลขในสัญกรณ์จุดคงที่ |
3 | toLocaleString () ส่งคืนสตริงที่มีการแทนค่าภาษาของตัวเลขนี้ |
4 | toPrecision () ส่งคืนสตริงที่แสดงตัวเลขไปยังความแม่นยำที่ระบุในสัญกรณ์จุดคงที่หรือเลขชี้กำลัง |
5 | toString () ส่งคืนสตริงที่เป็นตัวแทนของวัตถุที่ระบุในรัศมีที่ระบุ (ฐาน) |
6 | มูลค่าของ() ส่งคืนค่าดั้งเดิมของออบเจ็กต์ที่ระบุ |
เลขฐานสองและเลขฐานแปด
ก่อน ES6 ทางออกที่ดีที่สุดของคุณเมื่อพูดถึงการแทนค่าเลขฐานสองหรือฐานแปดของจำนวนเต็มคือการส่งผ่านไปยัง parseInt () ด้วยเลขฐานสิบ ใน ES6 คุณสามารถใช้คำนำหน้า 0b และ 0o เพื่อแทนค่าตัวอักษรเลขฐานสองและเลขฐานแปดตามลำดับ ในทำนองเดียวกันหากต้องการแสดงค่าเลขฐานสิบหกให้ใช้0x คำนำหน้า
คำนำหน้าสามารถเขียนเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก อย่างไรก็ตามขอแนะนำให้ใช้เวอร์ชันตัวพิมพ์เล็ก
Example − Binary Representation
console.log(0b001)
console.log(0b010)
console.log(0b011)
console.log(0b100)
ผลลัพธ์ต่อไปนี้จะแสดงเมื่อดำเนินการตามโค้ดด้านบนสำเร็จ
1
2
3
4
Example − Octal Representation
console.log(0o010)
console.log(0o100)
ผลลัพธ์ต่อไปนี้จะแสดงเมื่อดำเนินการตามโค้ดด้านบนสำเร็จ
8
64
Example − Hexadecimal Representation
console.log(0o010)
console.log(0o100)
ผลลัพธ์ต่อไปนี้จะแสดงเมื่อดำเนินการตามโค้ดด้านบนสำเร็จ
255
384
ส่วนขยายตามตัวอักษรของวัตถุ
ES6 แนะนำต่อไปนี้ syntax changes ในการประกาศตัวอักษรของวัตถุ
- ไวยากรณ์ของ Object property initializer
- ไวยากรณ์คุณสมบัติที่คำนวณ
- ไวยากรณ์วิธีการที่กระชับ
ตัวเริ่มต้นคุณสมบัติวัตถุ
ใน object property initializer syntaxเราสามารถเริ่มต้นวัตถุโดยตรงกับตัวแปร สิ่งนี้จะสร้างแอตทริบิวต์ที่มีชื่อเดียวกันกับตัวแปร
<script>
let firstName = 'Tutorials',lastName='Point'
let company = {
firstName,
lastName
}
console.log(company)
console.log(company.firstName)
console.log(company.lastName)
</script>
ผลลัพธ์ของโค้ดด้านบนจะเป็นไปตามที่ระบุด้านล่าง -
{firstName: "Tutorials", lastName: "Point"}
Tutorials
Point
คุณสมบัติที่คำนวณ
ใน computed properties syntaxคุณสมบัติของวัตถุสามารถสร้างแบบไดนามิกจากตัวแปร ในตัวอย่างต่อไปนี้ตัวแปรตามชื่อsuffix ใช้ในการคำนวณไฟล์ company วัตถุ.
<script>
let suffix = 'Name'
let company = {
['first'+suffix]:'Tutorials',
['last'+suffix]:'Point'
}
console.log(company)
console.log(company['firstName'])
console.log(company['lastName'])
</script>
ผลลัพธ์ของโค้ดด้านบนจะเป็นดังที่แสดงด้านล่าง -
{firstName: "Tutorials", lastName: "Point"}
Tutorials
Point
ใน Concise method syntax เราสามารถใช้และประกาศวิธีการได้โดยตรงโดยไม่ต้องใช้ functionคำสำคัญ. นี่คือไวยากรณ์ที่เรียบง่ายเพื่อรวมฟังก์ชันในตัวอักษรของวัตถุ
<script>
let firstName = 'Tutorials',lastName='Point'
let company = {
firstName,
lastName,
getFullName(){
return this.firstName+" - "+this.lastName
}
}
console.log(company.getFullName())
console.log(company)
</script>
ผลลัพธ์ของโค้ดด้านบนจะเป็นดังที่ระบุไว้ด้านล่าง -
Tutorials - Point
{firstName: "Tutorials", lastName: "Point", getFullName: ƒ}