ES6之数值的扩展
Posted nicc1206
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6之数值的扩展相关的知识,希望对你有一定的参考价值。
1、二进制和八进制表示法
分别前缀----二进制:0b(0B) 八进制:0o(0O)
注:要把0b和0o前缀的字符串转为十进制数值,要用Number方法
2、Number.isfINITE()、Number.isNaN()
Number.isfINITE():用来检查一个数值是否是有限制
Number.isNaN():用来检查一个值是否是NaN
3、Number.parseInt()、Number.parseFloat()
Number.parseInt()与parseInt()相等作用、Number.parseFloat()与parseFloat()相等作用
注:逐步减少全局性方法、诗的语言逐步模块化
4、Number.isInteger()——用来判断一个值是否是整数
注:javascript内部,整数和浮点数是同样的储存方法,所以3和3.0被视为同一个值
5、Number.EPSILON——实质是一个可以接受的误差范围
(0.1+0.2)-0.3<Number.EPSILON //true
6、安全整数和Number.isSafeInteger()
(1)、javascript能够准确表示整数范围再-2^53到2^53之间,超过这个范围就无法精确表示了
(2)、ES6引入了Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER两个常量,用来表示这个范围的上下线
(3)、Number.isSafeInteger()则是用来判断一个整数是否落在这个范围内(跟安全整数的两个边界值比较一下即可)
7、Math对象的扩展
(1)、Math.trunc()用于去除一个数的小数部分,返回整数部分
(2)、Math.sign()用来判断一个数是正数(返回+1)、负数(返回-1),还是零(返回0),对于非数值会先用Number将其转换为数值,其他返回NaN
(3)、Math.cbrt()用来计算一个数的立方根,对于非数值会先用Number将其转换为数值
(4)、Math.clz32()方法返回一个数的32位无符号整数形式有多少个前导0
Math.clz32(1) //31
Math.clz32(0b010000000000000000000000000000000) //1
(5)、Math.imul() 方法返回两个以32位带符号整数形式相乘的结果,返回的也是一个32位的带符号整数(等同于a*b)
(6)、Math.fround()方法返回一个数的单精度浮点形式
(7)、Math.hypot()方法返回所有参数的平方和的平方根
(8)、对数方法
Math.expm1(x)返回Ex - 1,即Math.exp(x)-1
Math.log1p(x)返回ln(1+x),即Math.log(1+x)。如果x小于-1,则返回NaN
Math.log10(x)返回以10位底的x的对数。如果小于0,则返回NaN
Math.log2(x)返回以2位底的x的对数。如果小于0,则返回NaN
(9)、双曲函数方法
Math.sinh(x):双曲正弦
Math.cosh(x):双曲余弦
Math.tanh(x):双曲正切
Math.asinh(x):反双曲正弦
Math.acosh(x):反双曲余弦
Math.atanh(x):反双曲正切
8、Math.signbit()——用来判断一个值的正负
9、指数运算符(**)
2 ** 2 //4
指数运算符可以与等号结合,形成新的赋值运算符(**=)
let a = 1.5;
a **= 2; //等同于 a = a * a
let b = 4;
b **= 3; //等同于 b = b * b * b
10、Integer数据类型
以上是关于ES6之数值的扩展的主要内容,如果未能解决你的问题,请参考以下文章