数值的扩展

ES6在内置的Math和Number的内置对象上做出了很多新的扩展,常用总结:
1. Number.isFinite()和Number.isNaN();
Number.isFinite()方法:判断数值是否有限;如果有限返回ture,否则返回false。当传入参数不是数值时,返回false
Number.isNaN()方法:判断传入的数值是否为NaN,如果是返回ture,否则返回false

Number.isFinite(5)  //ture
Number.isFinite(ture)  //false
Number.isFinite("15")  //false
Number.isNaN(NaN)  //ture
Number.isNaN(5)  //false

2.Number.parseInt(), Number.parseFloat()
ES6中全局性方法parseInt()和parseFloat(),移到Number对象上,减少全局性方法,语言更趋向于模块化

parseInt('12.34') // 12
parseFloat('12.34#') //12.34

Number.parseInt('12.34') // 12
Number.parseFloat('12.34#') //12.34

3.Number.isInteger()
Number.isInteger()判断一个值是否为整数。注意:2和2.0相同

Number.isInteger(3) //ture
Number.isInteger(3.0) //ture

4.Math.trunc()
Math.trunc()去除一个数的小数部分,返回整数部分.如果传入的是非数值,这先Number转换为数值,如果无法转换为数值,则返回NaN

Math.trunc(4.0) //4
Math.trunc(-4.0) //-4
Math.trunc(2) // 4
Math.trunc(-0.12) //2

5.Math.sign()
Math.sign()判断一个数是正数,负数,还是零
参数为正数,返回+1;
参数为负数,返回-1;
参数为0,返回0;
参数为-0,返回-0;
其他值,返回NaN

Math.sign(-5) // -1
Math.sign(5) // +1
Math.sign(0) // +0
Math.sign(-0) // -0
Math.sign(NaN) // NaN
Math.sign('foo'); // NaN
Math.sign();      // NaN

6.指数运算符(**)

let a = 1.5;
a **= 2;
// 等同于 a = a * a;

let b = 4;
b **= 3;
// 等同于 b = b * b * b;

你可能感兴趣的:(ES6,math,对象)