JS'deki bu kod bana biraz rahatsız edici bulduğum "boş bir sayı olduğunu düşünüyorum" diyen bir açılır pencere veriyor. Neyi kaçırıyorum?
if (isNaN(null)) {
alert("null is not a number");
} else {
alert("i think null is a number");
}
Firefox 3 kullanıyorum. Bu bir tarayıcı hatası mı?
Diğer testler:
console.log(null == NaN); // false
console.log(isNaN("text")); // true
console.log(NaN == "text"); // false
Öyleyse, sorun NaN ile tam bir karşılaştırma gibi görünmüyor?
Düzenleme: Şimdi soru cevaplandı, arşivin daha iyi bir sürümüne sahip olmak için gönderimi temizledim. Ancak bu, bazı yorumları ve hatta bazı cevapları biraz anlaşılmaz hale getiriyor. Yazarlarını suçlamayın. Değiştirdiğim şeyler arasında şunlar vardı:
- İlk başta anlamını tersine çevirerek manşeti alt üst ettiğimi söyleyen bir not kaldırıldı
- Önceki cevaplar, davranışın neden tuhaf olduğunu düşündüğümü yeterince açık bir şekilde belirtmediğimi gösterdi, bu yüzden bir dizeyi kontrol eden ve manuel bir karşılaştırma yapan örnekleri ekledim.