RangeError: BigInt division by zero

BigInt0n 除時,會發生 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)

錯誤型別

RangeError.

哪裡出錯了?

除法取餘運算子的除數為 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;

另見