JavaScript'te Boolean Tipindeki Değerlerin Karşılaştırılması
Önceki örnekte karşılaştırma için
=== operatörünü kullandık. Bu durumda değişkenimiz
hem değer hem de tip olarak true ile
eşitlik açısından karşılaştırıldı.
Bu tür bir karşılaştırma için ==
operatörünü de kullanabilirsiniz. Eğer test
değişkeninde her zaman true veya
false değerlerinden biri olursa, hiçbir şey değişmez:
let test = true; // buraya ya true ya da false yazıyoruz
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Ancak test değişkenine herhangi bir değer
girebiliyorsa, işler çok daha karmaşık bir hal alır.
Böyle bir durumda, eğer test değişkeninde
boolean olmayan bir değer varsa, bu değer
önce boolean'a dönüştürülür ve ancak
ondan sonra karşılaştırılır.
Örneğin, test değişkeninde 1
sayısı olsun. Bu durumda önce mantıksal türe,
yani true'ya dönüştürülecektir. Ve ardından karşılaştırma yapılacaktır:
let test = 1;
if (test == true) {
console.log('+++'); // bu çalışır
} else {
console.log('---');
}
Ancak, örneğin 0 sayısı
false'a dönüşür. Ve koşulumuz sonuçta
'yanlış' çıktısını verecektir:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // bu çalışır
}
Aslında böyle bir karşılaştırma açıkça şu şekilde yeniden yazılabilir:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Boolean türüne dönüştürüldüğünde
false veren değerleri hatırlayın ve yazın.
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}