1. 程式人生 > >ES6數值的拓展

ES6數值的拓展

全局 false -c 兩個 進制 一個 前綴 lse int

二進制和八進制表示法

ES6 提供了二進制和八進制數值的新的寫法,分別用前綴0b(或0B)和0o(或0O)表示。

如果要將0b0o前綴的字符串數值轉為十進制,要使用Number方法

Number(‘0b111‘)  // 7
Number(‘0o10‘)  // 8

Number.isFinite()用來檢查一個數值是否為有限的(finite),即不是Infinity

註意,如果參數類型不是數值,Number.isFinite一律返回false

Number.isNaN()用來檢查一個值是否為NaN

如果參數類型不是NaNNumber.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數值的拓展