ES6提供了二進制和八進制數值的新寫法,分別用前綴0b(或0B)和0o(或0O)表示。安全
0b111110111 === 503 // true函數
0o767 === 503 // truespa
若是要將使用0b、0o和0x前綴的字符串數值轉化爲十進制,要使用Number方法。對象
ES6中對Number對象的拓展ip
一、Number.isFinite() //檢查一個數值是否有限,返回true/false;字符串
二、Number.isNaN() //檢查一個值是否爲NaN,返回true/false;it
三、Number.parseInt() //將一個值轉化爲整數;二進制
四、Number.parseFloat() //將一個值轉化爲浮點數;方法
五、Number.isInteger() //判斷一個值對否爲整數,返回true/false;im
六、Number.EPSILON //新增一個極小的常量,2.220446049250313e-16
七、安全整數和Number.isSafeInteger()
JavaScript可以準確表示的整數範圍在-2的53次冪到2的53次冪之間(不包含兩個端點),超過這個範圍就沒法精確表示。ES6引入Number.MAX_SAFE_INTEGET = Math.pow(2, 53) - 1 表示安全範圍的上限,引入Number.MIN_SAFE_INTEGER = Math.pow(-2, 53) - 1表示安全範圍的下限。Number.isSafeInteger()就是判斷某個值是否在安全範圍以內,與安全整數的兩個邊界值比較一下。
ES6中對Math對象的拓展
一、Math.trunc() // 去除一個數的小數部分,返回整數部分;
二、Math.sign() //判斷一個數究竟是正數、負數仍是0,
其返回值有5中狀況:
1)、參數爲正數,返回+1;
2)、參數爲負數,返回-1;
3)、參數爲0,返回0;
4)、參數爲-0;返回-0;
5)、其餘值,返回NaN;
三、Math.cbrt() //計算一個數的立方根;
四、Math.clz32() //JavaScript的整數使用32位二進制形式表示,返回一個數的32位無符號整數形式有多少個前導0;
五、Math.imul() //返回兩個數以32位帶符號整數形式想成的結果;
六、Math.fround() //返回一個數的單精度浮點數形式;
七、Math.hypot() // 返回全部參數平方和的平方根;
八、對數方法
1)、Math.expm1(x) //返回e的x次冪減1,即Math.exp(x) - 1;
2)、Math.log1p(x) //返回ln(1+x),即Math.log(1+x);
3)、Math.log10(x) //返回以10爲底的x的對數;
4)、Math.log2(x) //返回以2爲底的x的對數;
九、雙曲函數方法
1)、Math.sinh(x) // 返回x的雙曲正弦;
2)、Math.cosh(x) // 返回x的雙曲餘弦;
1)、Math.tanh(x) // 返回x的雙曲正切;
1)、Math.asinh(x) // 返回x的反雙曲正弦;
1)、Math.acosh(x) // 返回x的反雙曲餘弦;
1)、Math.atanh(x) // 返回x的反雙曲正切;
十、Math.signbit() //判斷一個值的正負,起返回值以下:
1)、參數是NaN,返回false;
2)、參數是-0,返回true;
1)、參數是負數,返回true;
1)、其餘狀況返回false;
十一、指數運算符(**)
2 ** 2 // 4
指數運算符和等號結合造成一個新的賦值運算符(**=)
let a = 2;
a **= 2等同於a = a * a