Number.MAX_SAFE_INTEGER
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2015.
La constante Number.MAX_SAFE_INTEGER représente la valeur (sûre) maximale d'un nombre entier en JavaScript (2^53 -1).
Note :
Pour représenter des entiers supérieurs à cette valeur, on pourra utiliser le type BigInt.
Exemple interactif
const x = Number.MAX_SAFE_INTEGER + 1;
const y = Number.MAX_SAFE_INTEGER + 2;
console.log(Number.MAX_SAFE_INTEGER);
// Expected output: 9007199254740991
console.log(x);
// Expected output: 9007199254740992
console.log(x === y);
// Expected output: true
Attributs de Number.MAX_SAFE_INTEGER | |
|---|---|
| Écrivable | Non |
| Énumérable | Non |
| Configurable | Non |
Description
La constante MAX_SAFE_INTEGER a une valeur de 9007199254740991. Cette valeur s'explique par le fait que JavaScript utilise les nombres au format de virgule flottante à double précision comme spécifié dans IEEE 754 et ne peut représenter avec certitude qu'un nombre entre -(2^53-1) et 2^53 -1.
Dans ce contexte, « sûr » fait référence à la capacité à représenter exactement les entiers et à les comparer entre eux. Par exemple, Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 vaudra true ce qui est mathématiquement incorrect. Pour plus d'informations, voir également Number.isSafeInteger().
MAX_SAFE_INTEGER est une propriété statique de Number, elle doit toujours être utilisée comme Number.MAX_SAFE_INTEGER et non pas comme la propriété d'un objet Number qui aurait été instancié.
Exemples
Number.MAX_SAFE_INTEGER; // 9007199254740991
Math.pow(2, 53) - 1; // 9007199254740991
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number.max_safe_integer> |
Compatibilité des navigateurs
Chargement…