Number.MAX_SAFE_INTEGER

La constante Number.MAX_SAFE_INTEGER es el número mas grande 'seguro' en JavaScript (2^53 - 1).

Pruébalo

La fuente de este ejemplo interactivo está almacenada en GitHub. Si quieres contribuir al proyecto de ejmplos interactivos, por favor clona https://github.com/mdn/interactive-examples y envíanos un 'pull request'.

Atributos de la propiedad Number.MAX_SAFE_INTEGER
Sobrescribir No
Numerable No
Configurable No

Descripción

La constante MAX_SAFE_INTEGER tiene un valor de 9007199254740991 (9,007,199,254,740,991 o ~9 mil billones). El razonamiento detrás de ese número es que JavaScript usa números flotantes de doble precisión tal como está especfificado en IEEE 754 por lo que puedes representar números de forma segura entre -(2^53 - 1) y 2^53 - 1.

Seguro, en este contexto, se refiere a la habilidad de representar enteros de forma exacta y compararlos de forma correcta. Por ejemplo, Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 evaluará como 'verdadero', lo cual es matemáticamente incorrecto. Ver Number.isSafeInteger() para más información.

Debido a que MAX_SAFE_INTEGER es una propiedad estática de Number, siempre se usa como Number.MAX_SAFE_INTEGER, en lugar de como una propiedad de un objeto Number que hayas creado.

Ejemplos

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

Especificaciones

Specification
ECMAScript Language Specification
# sec-number.max_safe_integer

Compatibilidad con navegadores

BCD tables only load in the browser

Ver también