javascript 中的 bigint 类型用于表示超出安全整数范围的数值,通过给数字字面量添加 n 后缀或在调用 bigint() 时传入字符串来创建。它支持加减乘除和取模等常规算术运算,但必须与另一个 bigint 进行计算,不能直接与 number 混合使用,否则会导致类型错误。

BigInt 的创建方式有哪些
可以通过在数字后直接追加 n 来定义常量,或者使用 BigInt() 构造函数将字符串转换为大整数。注意,如果尝试用 new BigInt() 或传入数字参数会抛出异常,因为构造函数不接受 Number 类型以防止精度丢失。

const bigA = 9007199254740991n;
const bigB = BigInt("9007199254740991");
console.log(bigA === bigB); // true
// new BigInt(123) 会报错
BigInt 与 Number 混合运算如何处理
当 BigInt 与 Number 进行算术运算时,JavaScript 引擎会抛出 TypeError。这是为了确保开发者明确意识到正在处理高精度数据,避免隐式的精度损失。如果需要混合计算,必须手动将一方转换为另一方,通常是将 Number 转为 BigInt。
立即学习“Java免费学习笔记(深入)”;

const num = 10; const big = 20n; // big + num; // TypeError: Cannot mix BigInt and other types const result = big + BigInt(num); // 30n
如何判断一个值是否为 BigInt
可以使用 typeof 操作符来判断,它会返回字符串 "bigint"。此外,也可以通过检查值的后缀或使用 Object.prototype.toString.call() 来确认其类型,确保在处理动态数据时不会发生类型混淆。


















