Comprobar si un valor es NaN en JavaScript

Alex Dulcianu 12 octubre 2023
  1. Utilice la función integrada isNaN() para comprobar si un valor es NaN en JavaScript
  2. Combine isNaN() con parseFloat() para manejar cadenas vacías
  3. Compruebe si un valor es NaN mediante el uso de un operador de comparación en JavaScript
Comprobar si un valor es NaN en JavaScript

Los valores NaN en JavaScript pueden dejar perplejos a los recién llegados al lenguaje, especialmente porque a menudo se confunden con valores undefined o Null. NaN es un acrónimo de Not-a-Number, lo que hace que su propósito sea bastante obvio.

JavaScript puede dificultar la distinción entre diferentes valores indefinidos. Las operaciones booleanas también tienen un par de errores que debe tener en cuenta cuando se trata de valores NaN.

Hay situaciones en las que hay que comprobar y ver si un determinado valor es del tipo NaN. Como tal, aquí hay algunos métodos que puede emplear para verificar si un valor es NaN.

Utilice la función integrada isNaN() para comprobar si un valor es NaN en JavaScript

Una de las formas más útiles de realizar esta comprobación es utilizar el método de biblioteca estándar isNaN(). Si el valor que le das es NaN, entonces el retorno de esta función será true. Aquí hay un ejemplo de cómo puede usar esto en su código:

let myvar_1 = 'dog';
let myvar_2 = '2';

console.log(isNaN(myvar_1));
console.log(isNaN(myvar_2));

Producción :

true
false

Combine isNaN() con parseFloat() para manejar cadenas vacías

Como se mencionó anteriormente, hay algunos errores que debe tener en cuenta. Uno de ellos implica cadenas vacías, que devolverán false cuando se utilice la función isNaN(). Aquí hay un ejemplo:

let myvar_1 = '';

console.log(isNaN(myvar_1));

Producción :

false

Naturalmente, ese probablemente no sea el resultado que desea en este caso. Para manejar adecuadamente estos casos, puede agregar el método parseFloat() dentro de la función isNaN() de la siguiente manera:

let myvar_1 = '';

console.log(isNaN(parseFloat(myvar_1)));

Producción :

true

Compruebe si un valor es NaN mediante el uso de un operador de comparación en JavaScript

El siguiente método es incluso más rápido que los detallados anteriormente y también requiere menos código. Por otro lado, es un poco más confuso, sin mencionar que puede resultar difícil de mantener y documentar adecuadamente.

En resumen, los valores NaN de JavaScript son los únicos que no son iguales a sí mismos. Por eso, una simple comparación puede decirle fácilmente si el valor que le interesa es NaN o no. Así es como funciona:

let myvar_1 = NaN;
let myvar_2 = 'dog';
let myvar_3 = '2';

console.log(myvar_1 !== myvar_1);
console.log(myvar_2 !== myvar_2);
console.log(myvar_3 !== myvar_3);

Producción :

true
false
false

Este método funciona de manera diferente a la función isNaN(). En el ejemplo anterior, las cadenas que se pueden analizar como números se consideran números. Si utiliza el operador de comparación, las mismas cadenas no se analizarán como números. Este ejemplo específico solo devuelve true si el valor está claramente definido como NaN.

Ambos métodos tienen sus méritos, pero debes saber que funcionan de manera diferente, por lo que debemos evitar mezclarlos en la misma base de código.

Artículo relacionado - JavaScript Variable