22. Le type BigInt
Le type Number standard en JavaScript utilise un format de virgule flottante 64 bits. Cela signifie qu'il ne peut représenter les entiers de manière sûre que jusqu'à 2^53 - 1 (soit Number.MAX_SAFE_INTEGER). Pour les nombres plus grands (courants en cryptographie, horodatage ou grandes bases de données), la précision est perdue.
BigInt, introduit plus récemment, nous permet de travailler avec des entiers arbitrairement grands.
Création d'un BigInt
Vous créez un BigInt en ajoutant la lettre n à la fin d'un entier littéral.
javascript const massiveNumber = 9007199254740991n; // Le maximum sûr en Number est 9007199254740991 const biggerThanSafe = massiveNumber + 1n;
console.log(biggerThanSafe); // Résultat : 9007199254740992n
// console.log(Number.MAX_SAFE_INTEGER + 1); // Ce calcul perdrait de la précision
Limitations de BigInt
Les BigInts ne peuvent pas être mélangés avec des Numbers standards dans les opérations mathématiques. Vous devez les convertir explicitement si nécessaire.
javascript // console.log(10n + 5); // ERREUR console.log(10n + BigInt(5)); // OK : 15n