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;