RangeError: BigInt division by zero
当 BigInt 被 0n 除时,会发生 JavaScript 异常 "BigInt division by zero"(BigInt 除数为零)。
消息
RangeError: Division by zero (V8-based) RangeError: BigInt division by zero (Firefox) RangeError: 0 is an invalid divisor value. (Safari)
错误类型
哪里出错了?
当除法或取余运算符的除数为 0n 时。在 Number 算术中,这会产生 Infinity,但 BigInt 中没有“无穷大值”,因此会抛出错误。在执行除法之前,检查除数是否为 0n。
示例
被 0n 除
js
const a = 1n;
const b = 0n;
const quotient = a / b;
// RangeError: BigInt division by zero
相反,首先检查除数是否为 0n,然后发出带有更好消息的错误,或者回退到不同的值,例如 Infinity 或 undefined。
js
const a = 1n;
const b = 0n;
const quotient = b === 0n ? undefined : a / b;