Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

El método Number.isSafeInteger() determina si el valor provisto es un número que es un entero seguro.

Un entero seguro es un entero que

  • puede ser exactamente representado como un número IEEE-754 de doble presición, y
  • su representación IEEE-754 no puede ser el resultado de redondear cualquier otro entero para  adaptarse a la representación de IEEE-754.

Por ejemplo, 253 - 1 es un entero seguro: puede ser exactamente representado y ningún otro entero puede ser redondeado a él bajo cualquier modo de redondeo de IEEE-754. En contraste, 253 no es un entero seguro, puede ser exactamente representado en IEEE-754, pero el entero 253 + 1 no puede ser directamente representado en IEEE-754 pero en su lugar, redondea a 253 bajo los modos de redondeo redondeo-al-más-cercano y redondeo-a-cero.  Los enteros seguros consisten en todos los enteros desde -(253 - 1) inclusivo, hasta 253 - 1 inclusivo (± 9007199254740991 o ± 9,007,199,254,740,991).  

Manejar valores más grandes o más pequeños que ~9 cuatrillones con presición completa requiere usar una biblioteca de artimética de presición arbitraria.  Ver Lo que todo programador necesita saber sobre aritmética de punto flotante para más información sobre representaciones de punto flotante de los números.

Sintaxis

Number.isSafeInteger(valorDePrueba)

Parámetros

valorDePrueba
El valor a probar si es un entero seguro.

Valor de retorno

Un Boolean que indica si el valor dado es un número que es entero seguro.

Ejemplos

Number.isSafeInteger(3);                    // true
Number.isSafeInteger(Math.pow(2, 53));      // false
Number.isSafeInteger(Math.pow(2, 53) - 1);  // true
Number.isSafeInteger(NaN);                  // false
Number.isSafeInteger(Infinity);             // false
Number.isSafeInteger('3');                  // false
Number.isSafeInteger(3.1);                  // false
Number.isSafeInteger(3.0);                  // true

Polyfill

Number.isSafeInteger = Number.isSafeInteger || function (value) {
   return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER;
};

Especificaciones

Especificación Estatus Comentario
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'Number.isSafeInteger' en esta especificación.
Standard Definición inicial.
ECMAScript Latest Draft (ECMA-262)
La definición de 'Number.isSafeInteger' en esta especificación.
Draft  

Compatibilidad con navegadores

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Soporte básicoChrome Soporte completo SiEdge Soporte completo SiFirefox Soporte completo 32IE Sin soporte NoOpera Soporte completo SiSafari Soporte completo 10WebView Android Soporte completo SiChrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 32Opera Android Soporte completo SiSafari iOS Soporte completo SiSamsung Internet Android Soporte completo Sinodejs Soporte completo 0.12

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte

Ver también

Etiquetas y colaboradores del documento

Colaboradores en esta página: chrishenx
Última actualización por: chrishenx,