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之数值的扩展的主要内容,如果未能解决你的问题,请参考以下文章

ES6学习笔记之数值的扩展

ES6学习笔记之数值的扩展

ES6 之 Math对象的扩展

ES6 之 Math对象的扩展

ES6--字符串正则数值数组的扩展

ES6变量常量字符串数值