Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
RangeError: BigInt negativer Exponent
Die JavaScript-Ausnahme "BigInt negativer Exponent" tritt auf, wenn einBigInt auf die Potenz eines negativen BigInt-Wertes erhöht wird.
In diesem Artikel
Meldung
RangeError: Exponent must be positive (V8-based)RangeError: BigInt negative exponent (Firefox)RangeError: Negative exponent is not allowed (Safari)
Fehlerart
Was ist schiefgelaufen?
Der Exponent einerPotenzierung 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 auf0n gerundet wird. Um Fehler zu vermeiden, sind negative Exponenten nicht erlaubt. Überprüfen Sie, ob der Exponent nicht negativ ist, bevor Sie die Potenzierung durchführen.
Beispiele
>Verwenden eines negativen BigInt als Exponent
const a = 1n;const b = -1n;const c = a ** b;// RangeError: BigInt negative exponentStattdessen überprüfen Sie zuerst, ob der Exponent negativ ist, und geben entweder eine Fehlermeldung mit besserem Hinweis aus oder greifen auf einen anderen Wert wie0n oderundefined zurück.
const a = 1n;const b = -1n;const quotient = b >= 0n ? a ** b : 0n;