banner
banner
banner
NEWS LETTER

ES6-数值的拓展

Scroll down

二八进制表示法

  • 八进制 前缀0o
  • 二进制 前缀0b
  • 转为十进制 使用Number方法

不支持数值分隔符(_)

  • Number()
  • parseInt()
  • parseFloat()

Number.isFinite(), Number.isNaN()

  • Number.isFinite()用来检查一个数值是否为有限的(finite),不是数值返回false
  • Number.isNaN()用来检查一个值是否为NaN。
  • Number.isNaN(9/NaN) // true
  • Number.isNaN(‘true’ / 0) // true
  • Number.isNaN(‘true’ / ‘true’) // true

Number.isInteger() 是否为整数

  • 数值精度最多可以达到 53 个二进制位(1 个隐藏位与 52 个有效位)。如果数值的精度超过这个限度,第54位及后面的位就会被丢弃,这种情况下,Number.isInteger可能会误判。
  • Number.isInteger(3.0000000000000002) // true

Number.EPSILON

  • 表示 1 与大于 1 的最小浮点数之间的差。(最小误差范围)

Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER

  • 这两个常量,用来表示这个范围的上下限

  • Number.MAX_SAFE_INTEGER === Math.pow(2, 53) - 1 // true

  • Number.MAX_SAFE_INTEGER === 9007199254740991 // true

  • Number.MIN_SAFE_INTEGER === -Number.MAX_SAFE_INTEGER // true

  • Number.MIN_SAFE_INTEGER === -9007199254740991 // true

Number.isSafeInteger()则是用来判断一个整数是否落在这个范围之内。

Math.trunc() 去除一个数的小数部分,返回整数部分。

  • 非数值,先转数值
  • 控制或无法截取整数的值,返回NAN

Math.sign方法

  • 用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。
  • 参数为正数,返回+1;
  • 参数为负数,返回-1;
  • 参数为 0,返回0;
  • 参数为-0,返回-0;
  • 其他值,返回NaN。
其他文章
cover
ES6-数组的拓展
  • 24/10/31
  • 15:54
  • ES6
cover
ES6-解构赋值
  • 24/10/31
  • 15:54
  • ES6
目录导航 置顶
  1. 1. 二八进制表示法
  2. 2. 不支持数值分隔符(_)
  3. 3. Number.isFinite(), Number.isNaN()
  4. 4. Number.isInteger() 是否为整数
  5. 5. Number.EPSILON
  6. 6. Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER
  7. 7. Number.isSafeInteger()则是用来判断一个整数是否落在这个范围之内。
  8. 8. Math.trunc() 去除一个数的小数部分,返回整数部分。
  9. 9. Math.sign方法
请输入关键词进行搜索