La constante Number.MAX_SAFE_INTEGER
représente la valeur (sûre) maximale d’un nombre entier en JavaScript (253 -1).
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 -(253-1)
et 253 -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
Spécification | État | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Number.MAX_SAFE_INTEGER' dans cette spécification. |
Standard | Définition initiale |
ECMAScript 2017 Draft (ECMA-262) La définition de 'Number.MAX_SAFE_INTEGER' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 34 | 31 (31) | Pas de support | (Oui) | 9 |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | 32.0 (32) | Pas de support | Pas de support | 9 |