Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

RangeError.

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;

Siehe auch