ECMAScript 2020 中引入了一个新的基本数据类型 BigInt,用于表示任意精度的整数。在 JavaScript 中,Number 类型只能表示 2 的 53 次方以内的整数,而 BigInt 则没有这个限制,可以表示更大范围的整数。
BigInt 类型的使用方法和 Number 类型类似,但是有一些需要注意的地方。本文将介绍 BigInt 的基本用法,并详细讲解如何检查一个数字是否是 BigInt 类型。
BigInt 的基本用法
在 JavaScript 中,我们可以使用 BigInt() 函数将一个字符串或数字转换成 BigInt 类型。例如:
----- ------- - ----------------------------- ----- ------- - -----------------------------------------
我们也可以使用后缀 n 将一个数字字面量转换成 BigInt 类型。例如:
----- ------- - ----------------------
注意,如果我们直接将一个大于 2 的 53 次方的数字字面量赋值给一个变量,那么这个变量的类型将自动转换成 BigInt 类型。例如:
----- ------- - ----------------- -- ----- ------ --
BigInt 类型支持所有的算术运算符和位运算符,例如:
----- - - ---------------------- ----- - - ---------------------- ------------- - --- -- --------------------- ------------- - --- -- --------------------- ------------- - --- -- -------------------------------------- ------------- - --- -- -- ------------- - --- -- --------------------- ------------- -- ---- -- ---------------------------------------- ---------------- -- ---------------------- ------------- - --- -- ------------- ------------- - --- -- ---------------------- ------------- - --- -- ---------------------- ------------- -- ---- -- --------------------- ------------- -- ---- -- ---------------------
如何检查一个数字是否是 BigInt 类型?
在 JavaScript 中,我们可以使用 typeof 运算符来检查一个值的数据类型。例如:
------------------ ----- -- -------- ------------------ ------- -- -------- ------------------ ------ -- --------- ------------------ ----------- -- ----------- ------------------ ------ -- -------- ------------------ ---- -- -------- ------------------ ---- -- -------- ------------------ -------------- -- ----------
但是,typeof 运算符无法区分 Number 类型和 BigInt 类型。例如:
------------------ ----------------------- -- -------- ------------------ ---------------------- -- --------
因此,我们需要使用另外一个运算符 instanceof 来检查一个值是否是 BigInt 类型。例如:
--------------------------------- ---------- -------- -- ---- -------------------------------- ---------- -------- -- -----
注意,instanceof 运算符只能用于检查对象类型,因此我们需要将数字字面量转换成 BigInt 类型后才能使用。
总结
BigInt 是 ECMAScript 2020 中引入的一个新的基本数据类型,用于表示任意精度的整数。BigInt 类型的使用方法和 Number 类型类似,但是需要注意一些细节。在 JavaScript 中,我们可以使用 instanceof 运算符来检查一个值是否是 BigInt 类型。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65d87b081886fbafa463451c