ECMAScript 2020:BigInt - 处理大数

在 JavaScript 中,数字的最大值为 2^53 - 1,如果要处理更大的数字,就需要使用 BigInt。BigInt 是 ECMAScript 2020 中引入的新特性,它可以处理任意精度的整数,包括超出 Number 范围的数字。

BigInt 的创建

BigInt 可以通过在数字后面加上 n 来创建,也可以使用 BigInt() 函数来创建。

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

BigInt 的运算

BigInt 可以进行基本的数学运算,包括加、减、乘、除和取模运算。

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

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

需要注意的是,BigInt 和 Number 不能直接进行运算,需要先将 Number 转换成 BigInt。

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

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

BigInt 的比较

BigInt 可以和 Number、BigInt 进行比较,比较操作符包括 >、<、>=、<=、==、!=

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

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

需要注意的是,对于相同类型的 BigInt,可以使用 ===、!== 进行比较,但是对于不同类型的 BigInt 和 Number,需要先将 Number 转换成 BigInt。

BigInt 的属性和方法

BigInt 有一些属性和方法,可以用来获取 BigInt 的一些信息和进行一些操作。

BigInt.asUintN()

BigInt.asUintN() 方法可以将 BigInt 转换成无符号整数,参数为转换后整数的位数。

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

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

BigInt.asIntN()

BigInt.asIntN() 方法可以将 BigInt 转换成有符号整数,参数为转换后整数的位数。

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

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

BigInt.prototype.toString()

BigInt.prototype.toString() 方法可以将 BigInt 转换成字符串,参数为转换后字符串的进制。

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

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

总结

BigInt 是 ECMAScript 2020 中引入的新特性,可以处理任意精度的整数。需要注意的是,BigInt 和 Number 不能直接进行运算,需要先将 Number 转换成 BigInt。BigInt 有一些属性和方法,可以用来获取 BigInt 的一些信息和进行一些操作。在处理大数时,可以使用 BigInt 来避免精度丢失的问题。

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