MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

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,