ES2020:BigInts 和 BigInt

在 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