RangeError: BigInt negative exponent
Der JavaScript-Ausnahmefehler "BigInt negativer Exponent" tritt auf, wenn ein BigInt auf die Potenz eines negativen BigInt-Wertes erhöht wird.
Nachricht
RangeError: Exponent must be positive (V8-based) RangeError: BigInt negative exponent (Firefox) RangeError: Negative exponent is not allowed (Safari)
Fehlertyp
Was ist schiefgelaufen?
Der Exponent einer Potenzierung muss positiv sein. Da negative Exponenten den Kehrwert der Basis nehmen würden, liegt das Ergebnis in fast allen Fällen zwischen -1 und 1, was auf 0n gerundet wird. Um Fehler zu vermeiden, sind negative Exponenten nicht erlaubt. Stellen Sie sicher, dass der Exponent vor der Potenzierung nicht negativ ist.
Beispiele
>Verwendung eines negativen BigInt als Exponent
js
const a = 1n;
const b = -1n;
const c = a ** b;
// RangeError: BigInt negative exponent
Stattdessen sollten Sie zunächst prüfen, ob der Exponent negativ ist, und entweder eine Fehlermeldung mit einer besseren Nachricht ausgeben oder auf einen anderen Wert zurückfallen, wie 0n oder undefined.
js
const a = 1n;
const b = -1n;
const quotient = b >= 0n ? a ** b : 0n;