咏竹莉
where there is a will,there is a way

1. Number.isNaN()

Number.isNaN() 用来检查一个值是否为NaN

 console.log(Number.isNaN(NaN));       // true
 console.log(Number.isNaN(12))        // false
 console.log(Number.isNaN('15'))      // false
 console.log(Number.isNaN(true))      //  false
 console.log(Number.isNaN(9/NaN))      // true
 console.log(Number.isNaN('TRUE' / 0))    // true

 

2. 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.parseInt === parseInt         // true
Number.parseFloat === parseFloat   // true

 

3. Number.isInterger()

Number.isInterger() 用来判断一个数值是否为整数

Number.isInteger(23)    // true
Number.isInteger(25.0)   // true

 

4. Math 对象的扩展

ES6 在Math对象上新增了17个与数学相关的方法。所有这些方法都是静态方法,只能在Math对象上调用。


 

 

Math.trunc() 

Math.trunc 方法用于去除一个数的小数部分,返回整数部分。

 console.log(Math.trunc(4.2));        // 4
 console.log(Math.trunc(2.9))         // 2
 console.log(Math.trunc(-4.1))        // -4
 console.log(Math.trunc(-4.9))        // -4
 console.log(Math.trunc(-0.123))      // -0

对于非数值,Math.trunc 内部使用Number方法将其先转为数值

 console.log(Math.trunc('123.456'))     // 123
 console.log(Math.trunc(true))       // 1
 console.log(Math.trunc(false))       //  0
 console.log(Math.trunc(null))        // 0

 


 

Math.sign()

Math.sign方法用来判断一个数到底是正数、负数、还是0, 对于非数值,会将其转换为数值。

它会返回五种值。

- 参数为整数,返回 +1 

- 参数为负数,返回 -1

- 参数为 0 , 返回 0

- 参数为-0 ,返回 -0

- 其他值,返回 NaN

 


 

 

Math.cbrt()

Math.cbrt() 方法用于计算一个数的立方根

 console.log(Math.cbrt(-1))      // -1
 console.log(Math.cbrt(0))       // 0
 console.log(Math.cbrt(1))       // 1
 console.log(Math.cbrt(2))       // 1.2599210498948732

 


 

 

Math.hypot()

Math.hypot  方法返回所有参数的平方和的平方根

console.log(Math.hypot(3,4))       // 5
console.log(Math.hypot(3,4,5))     //  7.0710678118654755
console.log(Math.hypot())          //  0
console.log(Math.hypot(NaN))      //  NaN
console.log(Math.hypot(3,4, 'foo'))   // NaN
console.log(Math.hypot(3,4, '5'))     //  7.0710678118654755
    

 

 

5. 指数运算符

es6 新增了一个指数运算符 (**)

2**2       // 4
2**3       // 8

 

6.Math.pow()

pow() 方法可返回x的y次幂的值

Math.pow(x,y)

 

7. BigInt 数据类型

BigInt 大整数 , 是ECMAScript的第8种数据类型

为了与Number 类型区别,BigInt 类型的数据必须添加后缀n

1234         // 普通整数
1234n      //   BigInt

// BinInt  的运算
1n + 2n   // 3n

BigInt 与普通整数是两种值,它们之间并不相等

42n ===  42

 

posted on 2021-06-08 14:40  咏竹莉  阅读(34)  评论(0编辑  收藏  举报