Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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
ÉcrivableNon
ÉnumérableNon
ConfigurableNon

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® 2026 Language Specification
# sec-number.max_safe_integer

Compatibilité des navigateurs

Voir aussi