RangeError: x can't be converted to BigInt because it isn't an integer

L'exception JavaScript "x can't be converted to BigInt because it isn't an integer" se produit lorsque la fonction BigInt() est utilisée sur un nombre qui n'est pas entier.

Message

RangeError: The number 1.5 cannot be converted to a BigInt because it is not an integer (moteur basé sur V8 et Firefox)
RangeError: Not an integer (Safari)

Type d'erreur

Quel est le problème ?

Lorsqu'on utilise la fonction BigInt() afin de convertir un nombre en un grand entier, le nombre doit être une valeur entière (telle que Number.isInteger() renvoie true).

Exemples

Exemples invalides

js
const a = BigInt(1.5);
// RangeError: The number 1.5 cannot be converted to a BigInt because it is not an integer
const b = BigInt(NaN);
// RangeError: NaN cannot be converted to a BigInt because it is not an integer

Exemples valides

js
const a = BigInt(1);

Voir aussi