错误信息
RangeError: Division by zero (V8-based) RangeError: BigInt division by zero (Firefox) RangeError: 0 is an invalid divisor value (Safari)
错误类型
RangeError
哪里出错了?
当使用除法或者取余运算符时,如果除数为 0n 则会触发该错误。在 Number 运算中,除以 0n 会得到 Infinity,但在 BigInt 中不存在“Infinity”这一值,因此会抛出错误。在使用除法前,请先检查除数是否为 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;