ES9 新特性 BigInt 解析和格式化

在 JavaScript 中,数字的表示范围有限,最大整数值为 2^53 - 1,超出该范围的整数会导致精度丢失。ES9 新增了一种数据类型 BigInt,可以表示任意大小的整数。

BigInt 类型的定义与使用

BigInt 类型是以 n 结尾的整数,如 10n-10000000000000000000000000n 等。BigInt 值可以和普通数字进行加减乘除运算,也可以进行位运算,但不能和字符串直接拼接。

定义一个 BigInt 类型的变量,可以使用 BigInt() 函数或在数字后面加上 n

BigInt 类型的解析和格式化

与普通数字一样,BigInt 类型也可以进行解析和格式化。下面我们分别介绍一下 BigInt 类型的字符串解析和格式化。

BigInt 类型字符串的解析

由于 BigInt 类型字符串以 n 结尾,在解析时需要删掉 n 后再进行解析,可以使用 slice()BigInt() 函数来实现。

BigInt 类型的格式化输出

格式化输出时,可以将 BigInt 值转成字符串后在字符串上进行格式化,也可以使用 BigInt 实例的 toString() 方法进行转换并指定基数。

BigInt 和普通数字的转换

由于 BigInt 值可以表示非常大的整数,所以 BigInt 类型的值和普通数字是不能直接相互转换的,需要使用 BigInt 实例的 Number() 方法进行转换。

总结

ES9 新增 BigInt 类型,可以很好地解决 JavaScript 中整数范围有限的问题。在使用 BigInt 类型时,需要注意它和普通数字的转换问题,以及解析和格式化问题。熟练掌握 BigInt 类型的使用方法,将能更好地编写 JavaScript 应用程序。

示例代码

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/654704a57d4982a6eb168c50


纠错
反馈