Kode ini di JS memberi saya popup yang mengatakan "saya pikir nol adalah angka", yang menurut saya sedikit mengganggu. Apa yang saya lewatkan?
if (isNaN(null)) {
alert("null is not a number");
} else {
alert("i think null is a number");
}
Saya menggunakan Firefox 3. Apakah itu bug browser?
Tes lain:
console.log(null == NaN); // false
console.log(isNaN("text")); // true
console.log(NaN == "text"); // false
Jadi, masalahnya tampaknya bukan perbandingan yang tepat dengan NaN?
Sunting: Sekarang pertanyaan telah dijawab, saya telah membersihkan posting saya untuk memiliki versi yang lebih baik untuk arsip. Namun, ini membuat beberapa komentar dan bahkan beberapa jawaban sedikit tidak bisa dimengerti. Jangan salahkan penulisnya. Di antara hal-hal yang saya ubah adalah:
- Menghapus sebuah catatan yang mengatakan bahwa saya telah mengacaukan tajuk utama dengan mengembalikan artinya
- Jawaban sebelumnya menunjukkan bahwa saya tidak menyatakan dengan cukup jelas mengapa saya pikir perilaku itu aneh, jadi saya menambahkan contoh yang memeriksa string dan melakukan perbandingan manual.