在 JavaScript 中,数字类型的最大值为 2^53 -1,如果需要处理更大的整数,就需要使用 BigInt,BigInt 是 ES10 引入的新类型,用于表示任意精度整数。在 ES12 中,BigInt 有了一些新特性,本文将介绍这些新特性及其计算方法。
BigInt 的创建
在 ES10 中,我们可以使用后缀 n 来创建 BigInt 类型的数字,例如:
----- --------- - ------------------
在 ES12 中,BigInt 支持使用字符串创建,例如:
----- --------- - ---------------------------
BigInt 的计算
BigInt 的计算方法与普通的数字类型有所不同,不能使用普通的运算符进行计算。在 ES12 中,BigInt 支持以下运算符:
- 加法:使用 "+" 运算符
- 减法:使用 "-" 运算符
- 乘法:使用 "*" 运算符
- 除法:使用 "/" 运算符
- 取模:使用 "%" 运算符
例如:
----- ---------- - ------------------------------------------ ----- ---------- - ------------------------------------------ ----- --------- - ---------- - ----------- ----- --------- - ---------- - ----------- ----- --------- - ---------- - ----------- ----- --------- - ---------- - ----------- ----- --------- - ---------- - -----------
BigInt 的位运算
在 ES12 中,BigInt 支持以下位运算符:
- 按位与:使用 "&" 运算符
- 按位或:使用 "|" 运算符
- 按位异或:使用 "^" 运算符
- 左移:使用 "<<" 运算符
- 右移:使用 ">>" 运算符
- 无符号右移:使用 ">>>" 运算符
例如:
----- ---------- - ------------------------------------------ ----- ---------- - ------------------------------------------ ----- --------- - ---------- - ----------- ----- -------- - ---------- - ----------- ----- --------- - ---------- - ----------- ----- --------------- - ---------- -- ---- ----- ---------------- - ---------- -- ---- ----- ------------------------ - ---------- --- ----
BigInt 的比较
在 ES12 中,BigInt 支持以下比较运算符:
- 等于:使用 "==" 或 "===" 运算符
- 不等于:使用 "!=" 或 "!==" 运算符
- 大于:使用 ">" 运算符
- 小于:使用 "<" 运算符
- 大于等于:使用 ">=" 运算符
- 小于等于:使用 "<=" 运算符
例如:
----- ---------- - ------------------------------------------ ----- ---------- - ------------------------------------------ ----- ------- - ---------- --- ----------- ----- ---------- - ---------- --- ----------- ----- ------------- - ---------- - ----------- ----- ---------- - ---------- - ----------- ----- -------------------- - ---------- -- ----------- ----- ----------------- - ---------- -- -----------
BigInt 的转换
在 ES12 中,BigInt 支持以下转换方法:
- 转换为字符串:使用 toString() 方法
- 转换为数字:使用 Number() 方法或 + 运算符
- 转换为布尔值:使用 Boolean() 方法
例如:
----- --------- - ------------------------------------------ ----- --- - --------------------- ----- --- - ------------------ ----- ---- - -------------------
总结
BigInt 是处理任意精度整数的一种新类型,在 ES12 中,BigInt 支持了更多的运算符和位运算符,使得处理大整数更加方便。同时,BigInt 也支持了更多的比较和转换方法,方便开发者进行数据处理和转换。在实际开发中,如果需要处理大整数,可以优先考虑使用 BigInt。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/662cb50fd3423812e4a53731