ES6 学习笔记(5) 数值的扩展

2018-03-07  本文已影响0人  MrZhou_b216

1. 二进制和八进制表示法


ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。在严格模式之中,八进制就不再允许使用前缀0表示

  0b111110111 === 503 // true
  0o767 === 503 // true

2. Number.isFinite(), Number.isNaN()


  isFinite(25) // true
  isFinite("25") // true
  Number.isFinite(25) // true
  Number.isFinite("25") // false
  // 与全局的方法`isFinite()`,`isNaN()`的区别在于 全局的会先调
  // Number() 将非数值转为数值,而这两个方法对于非数值直接返回false
  isNaN(NaN) // true
  isNaN("NaN") // true
  Number.isNaN(NaN) // true
  Number.isNaN("NaN") // false
  Number.isNaN(1) // false

3. Number.parseInt() ; Number.parseFloat()


ES6将全局的parseInt(),parseFloat()移植到了Number对象上行为保持不变 目的 : 是逐步减少全局性方法,使得语言逐步模块化。

  parseInt('12.32')  // 12
  parseFloat('123.41#') // 123.41

  Number.parseInt('12.32)  // 12
  Number.paresFloat('12.121#')  // 12.121 

4. Number.isInteger()


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

  Number.isInteger(3.0000000000000002) // true
  Number.isInteger(5E-324) // false
  Number.isInteger(5E-325) // true

5. Number.EPSILON


6. 安全整数和 Number.isSafeInteger()


7. Math 对象的扩展

8. 指数运算 **

指数运算符可以与等号结合,形成一个新的赋值运算符(**=)。

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

  let a = 1.5;
  a **= 2;
  // 等同于 a = a * a;

  let b = 4;
  b **= 3;
  // 等同于 b = b * b * b;
上一篇 下一篇

猜你喜欢

热点阅读