ES6入门系列二(数值的扩展)

发布时间:2020-11-17 发布网站:前端之家 F2er.com
前端之家收集整理的这篇文章主要介绍了ES6入门系列二(数值的扩展)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

ES6 在 Number对象上新增了很多方法

1 .    Number.isFinite()判断是否为有限的数字

  和全局的isFinite() 方法的区别是

  isFinite('1') === true    ;    Number.isFinite('1') === false

  全局的isFinite()先调用Number() 方法  把  变量 转化为数字再进行判断, 所以返回 true,

  Number.isFinite()只能判断数字, 对于非数字一律返回false

 

2 ,  Number.isNaN() 判断是否为NAN,

  只有NaN 才返回true, 否则返回false

 

3 , ES6 把全局的parseInt()和parseFloat()   移植到了Number对象上,但行为保持不变,

 是为了逐步减少全局方法, 使语言逐渐模块化

 

4  , Number.isInterger()判断是否为整数,  注意一点,javascript内部整数和浮点数是同样的存储方法  

    所以Number.isInteger(2) === Number.isInteger(2.0) 

 

5,  Number.EPSILON是一个极小常量, 一般来说, 差值小于这个极小常量的两个数我们就认为是相等的

  因为JavaScript浮点数的计算不精确,0.1+ 0.2 = 0.30000000000000004

  如果 Math.abs(0.1+ 0.2 - 0.3)  < Number.EPSILON 我们就认为 0.1+ 0.2 =  0.3

 

6 ,  Number.isSafeInteger()  

  我们知道JavaScript表示整数的精度范围在-2的53次方到2的53次方之间,

  超过这个范围的整数JavaScript就无法精确表示了,比如

  Math.pow(2,53) + 1 ===  Math.pow(2,53)    / true

  ES6引入了两个数来表示这个范围

  Number.MAX_SAFE_INTEGER = Math.pow(2,53)  - 1;

  Number.MIN_SAFE_INTEGER = Math.pow(2,53)  + 1;

  判断一个整数是否落在这个区域就可以用 Number.isSafeInteger()  ,

  它只能传整数进去, 不是整数一律返回false

  

7 , 基于6 我们知道JavaScript无法准确的表示大于2的53次方的整数, 

  由此ES6新增了一个bigint的数据类型, 数值后面加n 来区分数字

  typeof 1234n  ===  'bigint'

  当计算Math.pow(2,53) + 1 的时候 

  9007199254740992 + 1 = 9007199254740992 (不精确)

  9007199254740992n + 1n = 9007199254740993n  (精确)

  在调用toString() 方法返回结果

  

  

总结


以上是前端之家为你收集整理的ES6入门系列二(数值的扩展)全部内容,希望文章能够帮你解决ES6入门系列二(数值的扩展)所遇到的程序开发问题。

如果觉得前端之家网站内容还不错,欢迎将前端之家网站推荐给前端开发程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。