RangeError: BigInt 除以零

BigInt除以0n时,会发生JavaScript异常“BigInt除以零”。

消息

RangeError: Division by zero (V8-based)
RangeError: BigInt division by zero (Firefox)
RangeError: 0 is an invalid divisor value. (Safari)

错误类型

哪里出错了?

除法或取余运算符的除数为0n除法取余运算符的除数是0n。在Number算术中,这会产生Infinity,但BigInt中没有“无限值”,因此会发出错误。在进行除法之前,请检查除数是否为0n

示例

除以0n

js
const a = 1n;
const b = 0n;
const quotient = a / b;
// RangeError: BigInt division by zero

相反,首先检查除数是否为0n,然后要么发出带有更好消息的错误,要么回退到其他值,例如Infinityundefined

js
const a = 1n;
const b = 0n;
const quotient = b === 0n ? undefined : a / b;

另请参阅