语法错误:无效的 BigInt 语法

当将字符串值强制转换为 BigInt 时,会发生 JavaScript 异常 "invalid BigInt syntax",但它无法解析为整数。

消息

SyntaxError: Cannot convert x to a BigInt (V8-based)
SyntaxError: invalid BigInt syntax (Firefox)
SyntaxError: Failed to parse String to BigInt (Safari)

错误类型

哪里出错了?

使用 BigInt() 函数将字符串转换为 BigInt 时,将以与源代码相同的方式解析字符串,并且结果值必须是整数值。

示例

无效情况

js
const a = BigInt("1.5");
const b = BigInt("1n");
const c = BigInt.asIntN(4, "8n");
// SyntaxError: invalid BigInt syntax

有效情况

js
const a = BigInt("1");
const b = BigInt("  1   ");
const c = BigInt.asIntN(4, "8");

另请参阅