Hoy me han pasado una de esas incidencias extrañas y divertidas.
En la tostadora el Explorer me aparecía el string null en un input en lugar de un espacio en blanco. Hasta ahí no hay de que extrañarse, pues ya sabemos que este navegador está tan mal hecho que resulta comprensible que sea incapaz de interpretar correctamente un valor nulo y lo convierta en una cadena: urf, urf, tarea titánica, sin duda! (por cierto, me gustaría saber cuánto dinero se invierte en el mundo para resolver incidencias relacionadas con el Explorer: la cifra puede ser desorbitada).
No, el rarismo no estaba ahí, sino en un filtro que había puesto en el js antes de enviar el valor... algo así:
value = ( isNaN(value) ) ? " " : value;
Es decir, si value no es un número (isNaN), pasa a ser una cadena vacía y, de lo contrario, su valor. Por lo tanto, ¿cómo es posible que estuviera llegando un valor null? Tengo que reconocer que la respuesta me resultó sorprendente. Tachán, tachán:
isNaN(null) //false
Esto es porque esta función trata de convertir el parámetro que se le pasa en un número y el null lo convierte en cero, que es un número, y lo mismo nos pasa con los valores booleanos, que convierte en un 1 o un 0...
isNaN(true); // false
Cosas veredes...