El increíble caso del valor NaN
En el universo JavaScript pueden encontrarse auténticas maravillas que rezuman belleza simbólica. Uno de los mejores representantes de estas pequeñas curiosidades de JS es el valor NaN.
Por definición Nan es, literalmente, not-a-number. Y es aquí donde empieza la magia. Un valor Nan sí es un valor de tipo numérico, pero es un número indeterminado que el lenguaje JS es incapaz de precisar.
Podemos ver a continuación algunos ejemplos de código que devuelve NaN:
console.log(Number(“lalaland”));
//-> NaN
Al tratar de convertir a número un valor texto, o string, se genera una inconsistencia lógica que JavaScript resuelve devolviendo NaN.
console.log(0/0);
//-> NaN
En este último ejemplo vemos que JavaScript devuelve NaN ante una paradoja matemática.
Esto es muy ilustrativo pero la verdadera cualidad memorable de NaN es que es el único valor en el lenguaje JS que no puede ser comparado con ningún otro tipo de valor ni siquiera consigo mismo, y aquí viene lo bueno, porque NaN no es equivalente con ningún otro valor. De hecho, en caso de querer comparar el error que devuelve una función y querer trabajar a partir de ahí debe usarse el método isNaN().
La soledad del valor NaN.