ES6学习笔记(六)之数值的扩展2

ES6在Number对象上提供的新方法(续)

  1. 用来判断一个值是否为整数:Number.isInteger()。
    注:javaScript内部,整数和浮点数存储方法一样(例如3同3.0)
let a = Number.isInteger('25');
console.log(a); //false

let b = Number.isInteger(2);
console.log(b); //true

let c = Number.isInteger(2.0);
console.log(c); //true

let d = Number.isInteger(true);
console.log(d); //false
  1. 为了浮点数计算设置误差范围,ES6在Number对象上新增了一个极小常量:Number.EPSILON。
console.log(Number.EPSILON); //2.220446049250313e-16
  1. 用来判断一个整数是否落在安全整数范围内:Number.isSafeInteger()。
let num = Number.isSafeInteger(Number.MAX_SAFE_INTEGER);
console.log(num);  //true

let num1 = Number.isSafeInteger(9007199254740992);
console.log(num1);  //false 超出范围
  • 安全整数范围:9007199254740991~-9007199254740991。
  • ES6引入两个常量表示:Number.MAX_SAFE_INTEGER(9007199254740991)、Number.MIN_SAFE_INTEGER(-9007199254740991)。
  • 若参数为运算式,其中一个值不是安全整数,则很可能得到错误结果,例如9007199254740993 === 9007199254740992结果为true,因为 ‘9007199254740993’ 超出了精度范围,所以导致计算机内部1以 ‘9007199254740992’ 的形式存储。
    9007199254740993 - 1 :返回结果是 9007199254740991,但正确结果是9007199254740992
//超出了精度范围,则很可能得到错误结果
console.log(9007199254740994-1); //9007199254740992
console.log(9007199254740993-1); //9007199254740991
console.log(9007199254740992-1); //9007199254740991
console.log(9007199254740991-1); //9007199254740990
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值