数值的扩展
数值的扩展
  二进制和八进制表示法
    ES6 提供了二进制和八进制数值的新的写法
    分别用前缀0b（或0B）和0o（或0O）表示
      0b111110111 === 503 // true
0o767 === 503 // true
  Number.isFinite()
    用于检测一个数是不是无限
  Number.isNaN()
    检测一个数是不是NaN
  Number.parseInt()
    将一个数变成整数
  Number.parseFloat()
    将一个数变成浮点数
  Number.isInteger()
    检测一个数是不是整型
  Number.EPSILON
    表示一个极小的常量
  Number.isSafeInteger()
    判断是不是安全整数
  Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER
    表示最大和最小整数
  指数运算符**
    ES2016 新增了一个指数运算符
      2 ** 2 // 4
2 ** 3 // 8
  Math 对象的扩展
    Math.trunc()
      用于去除一个数的小数部分，返回整数部分
    Math.sign()
      用来判断一个数到底是正数、负数、还是零，可返回五种值，参数为正数，返回+1；参数为负数，返回-1；参数为 0，返回0；参数为-0，返回-0;其他值，返回NaN。
    Math.cbrt()
      用于计算一个数的立方根
    Math.clz32()
      将参数转为 32 位无符号整数的形式，然后返回这个 32 位值里面有多少个前导 0
    Math.imul()
      返回两个数以 32 位带符号整数形式相乘的结果，返回的也是一个 32 位的带符号整数
    Math.fround()
      返回一个数的32位单精度浮点数形式
    Math.hypot()
      返回所有参数的平方和的平方根
    Math.expm1()
      Math.expm1(x)返回 ex - 1，即Math.exp(x) - 1
    Math.log1p()
      返回1 + x的自然对数，即Math.log(1 + x)
    Math.log10()
      Math.log10(x)返回以 10 为底的x的对数
    Math.log2()
      返回以 2 为底的x的对数
    Math.sinh(x) 返回x的双曲正弦（hyperbolic sine）
    Math.cosh(x) 返回x的双曲余弦（hyperbolic cosine）
    Math.tanh(x) 返回x的双曲正切（hyperbolic tangent）
    Math.asinh(x) 返回x的反双曲正弦（inverse hyperbolic sine）
    Math.acosh(x) 返回x的反双曲余弦（inverse hyperbolic cosine）
    Math.atanh(x) 返回x的反双曲正切（inverse hyperbolic tangent）
  BigInt 数据类型
    ES2020 引入了一种新的数据类型 BigInt（大整数）
    这是 ECMAScript 的第八种数据类型
    BigInt 只用来表示整数，没有位数的限制，任何位数的整数都可以精确表示
    BigInt 类型的数据必须添加后缀n
      1234 // 普通整数
      1234n // BigInt
  BigInt 对象
    可以用作构造函数生成 BigInt 类型的数值
    BigInt.prototype.toString()
    BigInt.prototype.valueOf()
    BigInt.prototype.toLocaleString()
    BigInt.asUintN(width, BigInt)
    BigInt.asIntN(width, BigInt)
    BigInt.parseInt(string[, radix])