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:
javascriptlet 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:
javascriptlet 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:
javascriptlet 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:
javascriptlet 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:
javascriptlet test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
javascriptlet test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
javascriptlet test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
javascriptlet test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
javascriptlet test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
javascriptlet test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:
javascriptlet test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}