深入 ECMAScript 2020 (ES11) 中的 BigInt 类型

在 ECMAScript 2020 (ES11) 中,新增了一种基本数据类型:BigInt。BigInt 类型用于表示大于 253 - 1 的整数,可以解决 JavaScript 中整数运算精度的问题。本文将深入探讨 BigInt 类型的使用方法和注意事项。

创建 BigInt

在 JavaScript 中,可以使用 BigInt() 函数来创建一个 BigInt 类型的数值。例如:

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

注意:在数值后面加上字母 n,可以将其转换为 BigInt 类型。

BigInt 运算

在 BigInt 类型上,可以进行加、减、乘、除等运算,与普通的数值运算方式类似。例如:

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

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

需要注意的是,与普通的数值运算不同,BigInt 类型的除法运算会向下取整,例如:

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

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

BigInt 与普通数值的运算

在 BigInt 类型和普通数值类型之间进行运算时,需要使用 BigInt() 将普通数值转换为 BigInt 类型。例如:

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

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

BigInt 与字符串的转换

在 BigInt 类型和字符串类型之间进行转换时,可以使用 toString() 方法和 BigInt() 函数。例如:

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

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

需要注意的是,如果字符串中的数值超出了 BigInt 类型的范围,转换时会抛出错误。

BigInt 的位运算

在 BigInt 类型上,可以进行位运算,包括按位与、按位或、按位异或、左移、右移等运算。例如:

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

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

总结

BigInt 类型是 ECMAScript 2020 (ES11) 中新增的基本数据类型,用于表示大于 253 - 1 的整数。在 BigInt 类型上,可以进行加、减、乘、除等运算,与普通的数值运算方式类似。需要注意的是,BigInt 类型的除法运算会向下取整。在 BigInt 类型和普通数值类型之间进行运算时,需要使用 BigInt() 将普通数值转换为 BigInt 类型。在 BigInt 类型和字符串类型之间进行转换时,可以使用 toString() 方法和 BigInt() 函数。在 BigInt 类型上,可以进行位运算,包括按位与、按位或、按位异或、左移、右移等运算。

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