Daniel Ehrenberg 为使 Number.MAX_SAFE_INTEGER 不再是 JavaScript 的限制。所以在ECMAScript11提出了一个新类型:BigInt,它是一个新的原语,它可以表示任意精度的整数,可以表示超长数据,可以超出2的53次方。你可以通过 BigInt 方法,或是在一个数值后添加 n 后缀,来将一个 number 转换为 bigint 类型。
接下来,我们来看看BigInt类型如何去使用
方式一:数字后面增加n
不过要注意一点的是经过BigInt的整数虽然和数字结果一样,并不是全等于数字,因为它们的类型并不一样。
方式二:使用 BigInt 函数
如果我们强行使用浮点数转化,那么会报错:
Js 中 Number类型只能安全的表示-(2^53-1)至 2^53-1 范围的值,例如:
或者我们可以用Nmber方法来测试出结果:
获得的结果为:
可以看到最大的安全数字是有极限的,在进行相加在JavaScript中也会无动于衷。
这时候我们可以考虑使用BigInt:
我们可以看到大小确实发生了变化。
不过最后值得注意一点的是,该类型目前只能支持在最新的浏览器上,低级浏览器会报错处理。
本文原创,未经作者允许不可转载!
更多内容,欢迎关注作者微信公众号:李游Leo老师前端讲堂!
暂无评论
违反法律法规
侵犯个人权益
有害网站环境