關於 JavaScript 中的 Number 屬性和方法的一切
本文介紹了如何使用內建的 Number
物件,並列出了它的屬性和方法。
可以使用數字字面值語法來生成 number
值:
const age = 36
typeof age //number
或使用 Number
全域函式:
const age = Number(36)
typeof age //number
如果使用 new
關鍵字,則會返回一個 Number
物件:
const age = new Number(36)
typeof age //object
它與 number
類型具有非常不同的行為。您可以使用 valueOf()
方法獲取原始的 number
值:
const age = new Number(36)
typeof age //object
age.valueOf() //36
屬性
EPSILON
- 兩個數字之間的最小間隔MAX_SAFE_INTEGER
- JavaScript 可以表示的最大整數值MAX_VALUE
- JavaScript 可以表示的最大正數值MIN_SAFE_INTEGER
- JavaScript 可以表示的最小整數值MIN_VALUE
- JavaScript 可以表示的最小正數值NaN
- 表示 “不是數字” 的特殊值NEGATIVE_INFINITY
- 表示負無窮大的特殊值POSITIVE_INFINITY
- 表示正無窮大的特殊值
這些屬性的值如下所示:
Number.EPSILON
Number.MAX_SAFE_INTEGER
Number.MAX_VALUE
Number.MIN_SAFE_INTEGER
Number.MIN_VALUE
Number.NaN
Number.NEGATIVE_INFINITY
Number.POSITIVE_INFINITY
2.220446049250313e-16
9007199254740991
1.7976931348623157e+308
-9007199254740991
5e-324
NaN
-Infinity
Infinity
物件方法
我們可以通過傳入一個值來調用這些方法:
Number.isNaN(value)
: 如果value
不是數字,則返回 trueNumber.isFinite(value)
: 如果value
是有限數字,則返回 trueNumber.isInteger(value)
: 如果value
是整數,則返回 trueNumber.isSafeInteger(value)
: 如果value
是安全整數,則返回 trueNumber.parseFloat(value)
: 把value
轉換為浮點數並返回Number.parseInt(value)
: 把value
轉換為整數並返回
我提到過 “安全整數”。在上面,有 MAX_SAFE_INTEGER 和 MIN_SAFE_INTEGER 屬性。什麼是安全整數?這是一個可以被精確表示為 IEEE-754 雙精度數字的整數(從 (2^53 - 1) 到 -(2^53 - 1) 的所有整數)。超出此範圍,JavaScript 將無法正確表示整數。這超出了課程的範圍,但是這是一個很好的解釋。
實例方法
當您使用 new
關鍵字使用 Number() 函式實例化一個值時,我們會得到一個 Number
物件:
const age = new Number(36)
typeof age //object
這個物件提供了一些獨特的方法供您使用,主要用於將數字轉換為特定格式。
.toExponential()
: 返回表示數字的指數表示法的字符串.toFixed()
: 返回表示數字的定點表示法的字符串.toLocaleString()
: 返回具有本地特定約定的數字的字符串.toPrecision()
: 返回表示數字的特定精度的字符串.toString()
: 返回表示指定對象的字符串,使用指定的基數。覆蓋了 Object.prototype.toString() 方法.valueOf()
: 返回對象的數字原始值