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) veya parseInt(x).
  • Sonucu isNaN(x) ile doğrula.
  • NaN === NaN her zaman false'tur; karşılaştırma için isNaN kullan.

JavaScript derslerimizle bunu pekiştirebilirsin.