一、二进制和八进制表示法
二进制—前缀添加0b(或0B) 八进制—前缀添加0o(或0O)
二、Number.isFinite(), Number.isNaN()
Number.isFinite()—检测数值是否是有限的。 Number.isNaN()—检测是否是非数字。
console.log ( Number.isNaN ( 'abc' ) ) ; //false
console.log ( Number.isNaN ( 123) ) ; //false
console.log ( Number.isFinite ( 15) ) ; //true
console.log ( Number.isFinite ( 0.5) ) ; //true
console.log ( Number.isFinite ( 'abc' ) ) ; //false
console.log ( Number.isFinite ( true) ) ; //false
console.log ( Number.isFinite ( null) ) ; //false
console.log ( Number.isFinite ( undefined) ) ; //false
三、Number.parseInt(), Number.parseFloat()
将全局方法parseInt(), parseFloat() 移植到Number对象上面。
console.log ( Number.parseFloat ( '0.8' ) ) ; //0.8
console.log ( Number.parseInt ( 1.2) ) ; //1
四、Number.isInteger()—判断一个数值是否为整数
console.log ( Number.isInteger ( 0.8) ) ; //false
console.log ( Number.isInteger ( 10) ) ; //true
五、Math 对象的扩展
ES6 在 Math 对象上新增了 17 个与数学相关的方法。所有这些方法都是静态方法,只能在 Math 对象上调用。
1.Math.trunc()–去除一个数的小数部分,返回整数部分
对于非数值,Math.trunc内部使用Number方法将其先转为数值。 对于空值和无法截取整数的值,返回NaN。
console.log ( Math.trunc ( 1.2) ) ; //1
console.log ( Math.trunc ( -1.2) ) ; //-1
console.log ( Math.trunc ( true) ) ; //1
console.log ( Math.trunc ( null) ) ; //0
console.log ( Math.trunc ( undefined) ) ; //NaN
console.log ( Math.trunc ( NaN) ) ; //NaN
2.Math.sign() --判断一个数到底是正数、负数、还是零
参数为正数,返回+1; 参数为负数,返回-1; 参数为 0,返回0; 参数为-0,返回-0; 其他值,返回NaN。
console.log ( Math.sign ( 2) ) ; //1
console.log ( Math.sign ( -2) ) ; //-1
console.log ( Math.sign ( 0) ) ; //0
console.log ( Math.sign ( null) ) ; //0
console.log ( Math.sign ( undefined) ) ; //NaN
3.Math.cbrt()–计算一个数的立方根
对于非数值,Math.cbrt()方法内部也是先使用Number()方法将其转为数值。
console.log ( Math.cbrt ( 8) ) ; //2
console.log ( Math.cbrt ( true) ) ; //1
console.log ( Math.cbrt ( null) ) ; //0
console.log ( Math.cbrt ( 'abc' ) ) ; //NaN
4.Math.fround()–返回一个数的32位单精度浮点数形式
六、指数运算符(**)
这个运算符的一个特点是右结合,而不是常见的左结合。多个指数运算符连用时,是从最右边开始计算的。
2 ** 3 ** 2
// 相当于 2 ** ( 3 ** 2)
let a = 1.5;
a **= 2;
// 等同于 a = a * a;
let b = 4;
b **= 3;
// 等同于 b = b * b * b;
console.log ( 2**3) ; //8
//等价于
console.log ( Math.pow ( 2,3) ) ; //8