Questo codice in JS mi dà un popup che dice "Penso che null sia un numero", che trovo leggermente inquietante. Cosa mi sto perdendo?
if (isNaN(null)) {
alert("null is not a number");
} else {
alert("i think null is a number");
}
Sto usando Firefox 3. È un bug del browser?
Altri test:
console.log(null == NaN); // false
console.log(isNaN("text")); // true
console.log(NaN == "text"); // false
Quindi, il problema sembra non essere un confronto esatto con NaN?
Modifica: ora la risposta alla domanda, ho ripulito il mio post per avere una versione migliore per l'archivio. Tuttavia, ciò rende alcuni commenti e persino alcune risposte un po 'incomprensibili. Non dare la colpa ai loro autori. Tra le cose che ho cambiato c'era:
- Rimossa una nota che diceva che avevo rovinato il titolo in primo luogo ripristinandone il significato
- Le risposte precedenti hanno mostrato che non ho indicato abbastanza chiaramente perché pensassi che il comportamento fosse strano, quindi ho aggiunto gli esempi che controllano una stringa e fanno un confronto manuale.