Number : propriété statique MIN_SAFE_INTEGER
Baseline
Large disponibilité
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 propriété statique Number.MIN_SAFE_INTEGER représente le nombre entier sûr minimal en JavaScript, ou -(253 - 1).
Pour les entiers plus petits, envisagez d'utiliser le type BigInt.
Exemple interactif
const x = Number.MIN_SAFE_INTEGER - 1;
const y = Number.MIN_SAFE_INTEGER - 2;
console.log(Number.MIN_SAFE_INTEGER);
// Sortie attendue : -9007199254740991
console.log(x);
// Sortie attendue : -9007199254740992
console.log(x === y);
// Sortie attendue : true
Valeur
-9007199254740991 (-9 007 199 254 740 991, ou environs -9 quadrillions).
Attributs de Number : propriété statique MIN_SAFE_INTEGER | |
|---|---|
| Écrivable | Non |
| Énumérable | Non |
| Configurable | Non |
Description
Le format de nombre à virgule flottante double précision (angl.) n'a que 52 bits pour représenter la mantisse, il ne peut donc représenter en toute sécurité que les entiers compris entre -(253 - 1) et 253 - 1. « Sûr » dans ce contexte fait référence à la capacité de représenter exactement les entiers et de les comparer correctement. Par exemple, Number.MIN_SAFE_INTEGER - 1 === Number.MIN_SAFE_INTEGER - 2 est évalué à true, ce qui est mathématiquement incorrect. Voir Number.isSafeInteger() pour plus d'informations.
Comme mentionné dans Number.EPSILON, la précision des nombres dépend de leur magnitude. Number.MIN_SAFE_INTEGER représente la plus petite valeur pour laquelle les opérations au niveau des entiers peuvent être effectuées avec précision, mais vous pouvez toujours effectuer des calculs significatifs sur des nombres plus petits, simplement sans précision au niveau des entiers. Le plus grand nombre représentable en JavaScript est en fait Number.MAX_VALUE, qui est approximativement 1,7976931348623157 × 10308.
Puisque MIN_SAFE_INTEGER est une propriété statique de Number, vous l'utilisez toujours comme Number.MIN_SAFE_INTEGER, plutôt que comme une propriété d'une valeur numérique.
Exemples
>Utiliser MIN_SAFE_INTEGER
Number.MIN_SAFE_INTEGER; // -9007199254740991
-(2 ** 53 - 1); // -9007199254740991
Spécifications
| Spécification |
|---|
| ECMAScript® 2027 Language Specification> # sec-number.min_safe_integer> |
Compatibilité des navigateurs
Voir aussi
- La prothèse d'émulation de
Number.MIN_SAFE_INTEGERdanscore-js(angl.) - La prothèse d'émulation es-shims de
Number.MIN_SAFE_INTEGER(angl.) - La propriété statique
Number.MAX_SAFE_INTEGER - La méthode statique
Number.isSafeInteger() - L'objet
BigInt