ES2020:BigInts 和 BigInt

阅读时长 3 分钟读完

在 JavaScript 中,数字一直是一个非常重要的类型,但是它有一个限制:它只能表示 2 的 53 次方以内的整数。这意味着在处理非常大的数字时,JavaScript 无法提供足够的精度。为了解决这个问题,ES2020 引入了一个新的数据类型:BigInt。

BigInt 是什么?

BigInt 是一个可以表示任意大整数的 JavaScript 数据类型。它可以用来处理超出 JavaScript Number 类型范围的数字,例如超过 2 的 53 次方的整数。BigInt 可以表示任意大小的整数,只受内存限制。

如何创建 BigInt?

要创建一个 BigInt,只需在数字后面添加一个 n。例如:

BigInts 和数字的区别是什么?

BigInts 和数字的区别在于它们的内部表示方式。数字使用 IEEE 754 标准来表示,而 BigInts 则使用一种更为简单的方式。这意味着 BigInts 不会丢失精度,但是它们也没有数字类型的一些特性,例如支持位运算。

如何进行 BigInt 运算?

BigInt 可以执行所有基本算术运算,例如加法、减法、乘法和除法。要执行这些运算,只需像普通数字一样使用运算符即可。

BigInts 和字符串的相互转换

我们可以使用 BigInt() 函数将字符串转换为 BigInt,也可以使用 toString() 函数将 BigInt 转换为字符串。

BigInts 和数字的相互转换

我们可以使用 Number() 函数将 BigInt 转换为数字,但是需要注意的是如果 BigInt 超出了 Number 类型的范围,将会返回 Infinity。

总结

BigInt 是一个非常有用的 JavaScript 数据类型,它提供了一种处理超出数字类型范围的数字的方法。虽然 BigInts 和数字之间的转换可能有些限制,但是 BigInts 可以在处理大型数字时提供更高的精度。

示例代码

下面是一个使用 BigInt 计算斐波那契数列的示例代码:

-- -------------------- ---- -------
-------- ------------ -
  --- --- -- - ---- ----
  ----- ---- - -- -
    --- -- - --- - - ---
  -
  ------ --
-

---------------------------- -- ----------------------

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

纠错
反馈