var veya let komutu ile yapılan değişken tanımlarına eğer herhangi bir değer atanmaması durumunda ilk alacağı değer her zaman undefined‘dır. Eğer herhangi tanımı yapılmayan değişkene erişilmeye çalışılırsa ReferenceError hatası alınır.
var a; console.log("a'nın değeri " + a); // a'nın değeri undefined var b; console.log("b'nın değeri " + b); // b'nin değeri undefined console.log("c'nin değeri " + c); // Yakalanmamış Referans Hatası: c değeri tanımlanamadı let x; console.log("x'in değeri " + x); // x'in değeri undefined console.log("y'in değeri " + y); // Yakalanmamış Referans Hatası: y değeri tanımlanamadı let y;
JavaScript’te içeriği undefined veya null olan değişkenlerin Boolean karşılığı her zaman false‘dur. Eğer undefined veya null değeri Boolean bir kontrol deyiminde (if, while vb..) kullanılırsa false çıktı verecek şekilde davranır.
var fiyat if(fiyat){ console.log('fiyat tanımlanmamış'); }else{ console.log('Ürünün Fiyatı : ' + fiyat); }
Eğer undefined değeri sayısal bir içerikle birlikte kullanıldığında NaN (Not a Number) değerini alır. NaN‘da tıpkı undefined daki gibi Boolean karşılığı false dur.
var a; a + 2; // NaN sonucunu verir. // boolean kullanımı var fiyat; var yeniFiyat = fiyat + 2; if(yeniFiyat){ console.log('Ürünün yeni fiyatı :' + yeniFiyat); }else{ console.log('Ürünün fiyatı değişmedi'); }
null değişkeni sayısal değişkene atandığında 0 (sıfır), boolean bir değişkene atandığında da false değerini alır. Örneğin ;
var n = null; console.log(n * 32); // ekrana 0 yazdırır. // boolean kullanımı var indirim = null; if(indirim){ console.log('indirim var.'); }else{ console.log('indirim yok.'); }
Kaynak: https://developer.mozilla.org
Cevapla
Want to join the discussion?Feel free to contribute!