一、二進制和八進制表示法
ES6 提供了二進制和八進制數值的新的寫法,分别用字首0b(或0B)和0o(或0O)表示。
0b111110111 === 503 // true
0o767 === 503 // true
如果要将0b和0o字首的字元串數值轉為十進制,要使用Number方法。
Number('0b111') // 7
Number('0o10') // 8
二、Number.isFinite()、Number.isNaN()
1、Number.isFinite():用來檢查一個數值是否為有限的。如果參數類型不是數值,一律傳回false。
Number.isFinite(15); // true
Number.isFinite(0.8); // true
Number.isFinite(NaN); // false
2、Number.isNaN():用來檢查一個值是否為NaN。如果參數類型不是NaN,Number.isNaN一律傳回false。
Number.isNaN(NaN) // true
Number.isNaN(9/NaN) // true
Number.isNaN(15) // false
Number.isNaN('15') // false
Number.isNaN(true) // false
三、Number.isInteger()
用來判斷一個數值是否為整數。如果參數不是數值,Number.isInteger傳回false。
Number.isInteger(25) // true
Number.isInteger(25.1) // false
Number.isInteger('15') // false
JavaScript 内部,整數和浮點數采用的是同樣的儲存方法,是以 25 和 25.0 被視為同一個值。
Number.isInteger(25) // true
Number.isInteger(25.0) // true
說明:如果對資料精度的要求較高,不建議使用它來判斷一個數值是否為整數。
四、Number.parseInt()、 Number.parseFloat()
ES6 将全局方法parseInt()和parseFloat(),移植到Number對象上面,行為完全保持不變。這樣做的目的,是逐漸減少全局性方法,使得語言逐漸子產品化。
// ES5的寫法
parseInt('12.34') // 12
parseFloat('123.45#') // 123.45
// ES6的寫法
Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45
五、Number.EPSILON
ES6 在Number對象上面,新增一個極小的常量Number.EPSILON。實際上是 JavaScript 能夠表示的最小精度。誤差如果小于這個值,就可以認為已經沒有意義了,即不存在誤差了。