ES11 中新的 JavaScript 原语 —bigint—— 高精度数值存储

阅读时长 4 分钟读完

在 JavaScript 中,数字类型默认使用 64 位浮点数表示,因此在进行大数计算时会出现精度问题。为了解决这个问题,ES11 引入了一种新的原语类型——bigint,它可以存储更大范围的整数,不会出现精度问题。

BigInt 的定义

BigInt 是一种新的原语类型,用来表示任意精度的整数。它可以表示的范围比 Number 类型更大,可以处理超过 2 的 53 次方的整数。

BigInt 的创建

BigInt 可以通过在数字后添加 n 或者调用 BigInt() 函数来创建。

BigInt 的运算

与 Number 类型不同,BigInt 不支持加减乘除等常规运算符,需要使用 BigInt 对象上的方法进行运算。

加法

减法

乘法

除法

BigInt 的比较

与 Number 类型不同,BigInt 比较时需要使用 BigInt 对象上的方法进行比较。

相等比较

大小比较

BigInt 的使用场景

  • 处理超过 Number 类型范围的整数计算
  • 处理加密算法中的大数运算

注意事项

  • BigInt 类型无法与 Number 类型进行运算,需要先将 Number 类型转换为 BigInt 类型
  • 在进行字符串拼接时,需要将 BigInt 类型转换为字符串类型

结语

ES11 中引入了 BigInt 类型,可以处理大数计算时的精度问题,拓展了 JavaScript 的数值类型。在实际开发中,我们需要根据具体情况选择使用 Number 类型还是 BigInt 类型。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67da4885a941bf713422be3b

纠错
反馈