ES6數值的拓展
阿新 • • 發佈:2018-07-10
全局 false -c 兩個 進制 一個 前綴 lse int
二進制和八進制表示法
ES6 提供了二進制和八進制數值的新的寫法,分別用前綴0b
(或0B
)和0o
(或0O
)表示。
如果要將0b
和0o
前綴的字符串數值轉為十進制,要使用Number
方法
Number(‘0b111‘) // 7 Number(‘0o10‘) // 8
Number.isFinite()
用來檢查一個數值是否為有限的(finite),即不是Infinity
。
註意,如果參數類型不是數值,Number.isFinite
一律返回false
。
Number.isNaN()
用來檢查一個值是否為NaN
。
如果參數類型不是NaN
,Number.isNaN
一律返回false
。
它們與傳統的全局方法isFinite()
和isNaN()
的區別在於,傳統方法先調用Number()
將非數值的值轉為數值,再進行判斷,而這兩個新方法只對數值有效,Number.isFinite()
對於非數值一律返回false
, Number.isNaN()
只有對於NaN
才返回true
,非NaN
一律返回false
。
isFinite(25) // true isFinite("25") // true Number.isFinite(25) // true Number.isFinite("25") // false isNaN(NaN) // true isNaN("NaN") // true Number.isNaN(NaN) // true Number.isNaN("NaN") //false Number.isNaN(1) // false
Number.isInteger()
Number.isInteger()
用來判斷一個數值是否為整數。
Number.isInteger(25) // true Number.isInteger(25.1) // false
如果參數不是數值,Number.isInteger
返回false
。
Number.isInteger() // false Number.isInteger(null) // false Number.isInteger(‘15‘) // false Number.isInteger(true) // false
JavaScript 內部,整數和浮點數采用的是同樣的儲存方法,所以 25 和 25.0 被視為同一個值。
Number.isInteger(25) // true Number.isInteger(25.0) // true
ES6數值的拓展