ES6学习——新加API:Number

时间:2022-03-24 09:10:48

新加静态属性:

Number.EPSILON

Number.MAX_SAFE_INTEGER(2^53 - 1)

Number.MIN_SAFE_INTEGER -(2^53 - 1)


方法:

1)Number.isNaN

这个方法和全局的isNaN有个区别就是不会强转传入的参数:

var a = NaN, b = "NaN", c = 42;
isNaN( a ); // true
isNaN( b ); // true -- 这里把字符串强行转换成数字
isNaN( c ); // false

Number.isNaN( a ); // true
Number.isNaN( b ); // false --不再强转
Number.isNaN( c ); // false

2)Number.isFinite

和全局的isFinite不同点就是不会强转传入参数:

var a = NaN, b = Infinity, c = 42;
Number.isFinite( a ); // false
Number.isFinite( b ); // false
Number.isFinite( c ); // true
var a = "42";
isFinite( a ); // true
Number.isFinite( a ); // false

3)Number.isInteger

Number.isInteger( 4 ); // true
Number.isInteger( 4.2 ); // false
Number.isInteger( NaN ); // false
Number.isInteger( Infinity ); // false
Number.isInteger(0)//true
Number.isInteger(0.0)//true
Number.isInteger(0.00)//true

4)Number.isSafeInteger

var x = Math.pow( 2, 53 ),
y = Math.pow( -2, 53 );

Number.isSafeInteger( x - 1 ); // true
Number.isSafeInteger( y + 1 ); // true

Number.isSafeInteger( x ); // false
Number.isSafeInteger( y ); // false