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!