NaN 'Not a Number' (sayı değil) demektir. Sayısal bir işlem geçersiz olduğunda sonuç NaN olur.
Neden olur?
En sık neden: metni sayı sanıp işleme sokmak. Örneğin bir input'tan gelen değer aslında metindir ve 'abc' * 2 NaN verir.
Hatalı kod
const girdi = 'abc';
console.log(girdi * 2); // NaN
Doğru kod
const girdi = '12';
const sayi = Number(girdi);
if (!isNaN(sayi)) {
console.log(sayi * 2); // 24
} else {
console.log('Gecerli bir sayi degil');
}
Kontrol listesi
- Metni sayıya çevir:
Number(x)veyaparseInt(x). - Sonucu
isNaN(x)ile doğrula. NaN === NaNher zaman false'tur; karşılaştırma için isNaN kullan.
JavaScript derslerimizle bunu pekiştirebilirsin.