Este código en JS me da una ventana emergente que dice "Creo que nulo es un número", lo que me parece un poco inquietante. ¿Qué me estoy perdiendo?
if (isNaN(null)) {
alert("null is not a number");
} else {
alert("i think null is a number");
}
Estoy usando Firefox 3. ¿Es eso un error del navegador?
Otras pruebas:
console.log(null == NaN); // false
console.log(isNaN("text")); // true
console.log(NaN == "text"); // false
Entonces, ¿el problema parece no ser una comparación exacta con NaN?
Editar: Ahora que la pregunta ha sido respondida, he limpiado mi publicación para tener una mejor versión para el archivo. Sin embargo, esto hace que algunos comentarios e incluso algunas respuestas sean un poco incomprensibles. No culpes a sus autores. Entre las cosas que cambié fue:
- Se eliminó una nota que decía que había arruinado el titular en primer lugar al revertir su significado
- Las respuestas anteriores mostraron que no dije con suficiente claridad por qué pensaba que el comportamiento era extraño, así que agregué los ejemplos que verifican una cadena y hacen una comparación manual.