阮一峰大神的ES6数值篇已经写的很好很全,下边贴出链接,然后斗胆写一点自己学习的总结。
阮一峰ES6数值扩展
我准备从数值的表示,数值判断,计算三个方面简单介绍下ES6的数值扩展
1新增二进制和八进制表示法
代码如下:
var num1 = 0b111110111;//二进制前缀0b
var num2 = 0o767;//八进制前缀0o
console.log(0b111110111);//503
console.log(0o767);//503
console.log(num1+num2);//1006
2数值判断
-
有穷判断
js里有个无穷大的数,即Infinity,Number.isFinite()用来判断一个数是不是 不是无穷大,即不是Infinity
console.log(Number.isFinite(Infinity));//false
console.log(Number.isFinite(8));//true
-
判断是不是不是一个数
在js里用NaN表示一个不是数的数,Number.isNaN()就是用来判断一个数是不是NaN
console.log(Number.isNaN(NaN));//true
console.log(Number.isNaN(8));//false
- 判断是不是一个整数 Number.isInteger()
console.log(Number.isInteger(2));//true
console.log(Number.isInteger(2.3));//false
-
判断一个数是不是安全
JavaScript 能够准确表示的整数范围在-2^53 到2^53之间(不含两个端点),超过这个范围,无法精确表示这个值。被视为不安全的。
console.log(Number.isSafeInteger(8));//true
console.log(Number.isSafeInteger(Math.pow(2,53)));//false
-
判断一个数是正数还是负数还是零 Math.sign()
正数返回1 负数返回-1 0返回0
console.log(Math.sign(5));//1
console.log(Math.sign(0));//0
console.log(Math.sign(-5));//1
3计算
- Math.cbrt()方法用于计算一个数的立方根
console.log(Math.cbrt(27));//3
-
新增指数运算符(**)
如求2的2次方
ES5中使用Math.pow()
console.log(Math.pow(2,2));//4
ES6中可以使用指数运算符
console.log(2 ** 2);//4