Number.isNaN()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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
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 |
---|
ECMAScript Language Specification # sec-number.isnan |
Compatibilidad con navegadores
BCD tables only load in the browser