Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

Number.MAX_SAFE_INTEGER

Baseline
Ampliamente disponible

Esta característica está consolidada y funciona en muchos dispositivos y versiones de navegador. Está disponible en todos los navegadores desde septiembre de 2015.

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

Pruébalo

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
Atributos de la propiedad Number.MAX_SAFE_INTEGER
SobrescribirNo
NumerableNo
ConfigurableNo

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

Especificación
ECMAScript® 2027 Language Specification
# sec-number.max_safe_integer

Compatibilidad con navegadores

Ver también