ECMAScript 2020 中的新特性 BigInt:如何检查一个数字是否是 BigInt 类型?

阅读时长 4 分钟读完

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

纠错
反馈