[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Errors/BigInt_negative_exponent [Back]  [Original]

RangeError: BigInt negative exponent - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

RangeError: BigInt negative exponent

L'exception JavaScript "BigInt negative exponent" se produit lorsqu'une valeur BigInt est leve une puissance ngative exprime avec une valeur BigInt.

Dans cet article

Message

RangeError: Exponent must be positive (moteur JavaScript bas sur V8)
RangeError: BigInt negative exponent (Firefox)
RangeError: Negative exponent is not allowed (Safari)

Type d'erreur

RangeError.

Quel est le problme ?

L'exposant utilis pour une opration d'exponentiation doit tre positif. Un exposant ngatif conduirait prendre un inverse de la base, le rsultat sera alors compris entre -1 et 1 pour presque tous les cas, ce qui finirait arrondi en 0n. Pour viter de tels problmes, les exposants ngatifs ne sont pas autoriss. Vrifiez le signe de l'exposant avant de raliser l'exponentiation.

Exemples

Utiliser un grand entier ngatif comme exposant

js
const a = 1n;
const b = -1n;
const c = a ** b;
// RangeError: BigInt negative exponent

la place, on vrifiera au pralable si l'exposant est ngatif, si c'est le cas, on produira un message d'erreur plus spcifique ou on utilisera une valeur alternative comme 0n ou undefined.

js
const a = 1n;
const b = -1n;
const quotient = b >= 0n ? a ** b : 0n;

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page