Number.MAX_SAFE_INTEGER

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

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

js
Number.MAX_SAFE_INTEGER; // 9007199254740991
Math.pow(2, 53) - 1; // 9007199254740991

Spécifications

Specification
ECMAScript Language Specification
# sec-number.max_safe_integer

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi