Number.isNaN()

El método Number.isNaN() determina si el valor pasado es NaN. Versión más robusta de la función global isNaN().

Sintaxis

Number.isNaN(value)

Parámetros

valor
El valor para ser testado por NaN.

Description

Debido a los dos operadores de igualdad, == y ===, evaluando a false cuando al comprobar si NaN is NaN, la función Number.isNaN() se ha convertido en necesaria. Esta situación es diferente a las otras comparaciones de valor en JavaScript.

En comparación a la función global isNaN(), Number.isNaN() no sufre el problema de forzar la conversión del parámetro a un número. Esto significa que ahora es seguro pasar valores que normalmente se convertirían a NaN, pero no son del mismo valor que NaN. Esto también significa que solo los valores de tipo número, que también son NaN, retornan true.

Examples

Number.isNaN(NaN);        // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0)       // true

// e.g. estos hubiesen sido true con la función global isNaN()
Number.isNaN("NaN");      // false
Number.isNaN(undefined);  // false
Number.isNaN({});         // false
Number.isNaN("blabla");   // false

// Todos retornan false
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN(37);
Number.isNaN("37");
Number.isNaN("37.37");
Number.isNaN("");
Number.isNaN(" ");

Polyfill

Number.isNaN = Number.isNaN || function(value) {
    return typeof value === "number" && isNaN(value);
}

// O
Number.isNaN = Number.isNaN || function(value) {     
    return value !== value;
}

Especificaciones

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Number.isnan' in that specification.
Standard Initial definition.
ECMAScript 2016 Draft (7th Edition, ECMA-262)
The definition of 'Number.isnan' in that specification.
Draft  

Compatibilidad de navegador

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 25 15 (15) Not supported (Yes) 9
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Not supported ? 15.0 (15) Not supported Not supported 9

Ver también

Etiquetas y colaboradores del documento

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