如何在 ES12 中使用 BigInt 类型

在过去的 JavaScript 中,整数运算是以 64 位双精度浮点数 (即 IEEE 754 双精度)进行的,这意味着整数的精确度只能是 -2^53 到 2^53 之间。大于这个范围的整数就不能精确表示,因此,在需要处理超过这个范围的整数时,JavaScript 开发人员被迫使用第三方库或其他语言的帮助。但是,随着 ECMAScript 2020(ES12)的发布,JavaScript 现在有了一个新的内置类型 BigInt,使开发人员可以更轻松地处理大整数。

本文将向您介绍 BigInt 类型,如何定义和使用 BigInt 变量,以及 BigInt 类型提供的方法,以及使用 BigInt 完成数值运算的示例代码。

BigInt 类型简介

BigInt 是一种新的 JavaScript 内置类型,它表示任意精度的整数。BigInt 是在 ES12 中引入的,可以存储比现有 JavaScript Number 类型允许更大的整数,最小为 -2^53 + 1,最大为 2^53 - 1。 相比之前的整数类型而言,BigInt 可以表示更大、更精确的整数值。

BigInt 类型的定义和使用

  1. BigInt 构造函数

使用 BigInt 构造函数可以创建 BigInt 类型的变量。可以使用带有 "n" 后缀的字符串表示法或使用 BigInt 构造函数来定义 BigInt。如下示例:

  1. BigInt 与现有的整数类型之间的区别

在 BigInt 变量定义时,必须将数字后缀 "n" 添加到整数的末尾,BigInt 与现有的整数类型被认为是不同的。如以下示例表示两者之间的区别:

在上面的示例中,jsMaxValue 仅定义为数字,而 bigNum 变量需要添加 "n" 后缀,以表示它是 BigInt 类型。

  1. BigInt 类型方法

BigInt 对象的方法可用于执行更大范围内的运算。BigInt 还提供以下常见方法:

方法名称 描述
BigInt.prototype.toString() 把 BigInt 对象转换为字符串。
BigInt.prototype.valueOf() 返回 BigInt 对象或 BigInt 字面量的原始值。
BigInt.prototype.toLocaleString() 把 BigInt 对象转换为本地字符串。

下面是使用 BigInt 对象的示例代码:

使用 BigInt 完成数值运算

BigInt 还支持本机整数运算符(例如 +,-,*和/),这些运算符可用于在 ES12 中完成数学运算。可以像计算常规数字一样使用这些运算符,BigInt 类型会根据特定的运算符进行转换。下面是一些示例代码,演示 BigInt 变量的加法,减法,乘法和除法:

结论

BigInt 类型是 ES12 中非常有价值的新功能。它使开发人员可以更轻松地处理大整数值,以便更好地应对业务需求。在本文中,我们已经学习了 BigInt 变量的定义与使用,以及 BigInt 提供的常见方法和运算符。它给我们的工作带来了新的、更强大的可能性,并将为我们以后的工作提供有力的支持。

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


纠错
反馈