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('---');
}
Задание 1

Boolean türüne dönüştürüldüğünde false veren değerleri hatırlayın ve yazın.

Задание 2

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

javascriptlet test = 1;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

javascriptlet test = 0;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 4

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

javascriptlet test = 1;
    
if (test == false) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 5

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

javascriptlet test = 1;
    
if (test != true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 6

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

javascriptlet test = '';
    
if (test == false) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 7

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

javascriptlet test;
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 8

Kodu çalıştırmadan, konsola ne yazdırılacağını belirleyin:

javascriptlet test = 3 * 'a';
    
if (test == true) {
  console.log('+++');
} else {
  console.log('---');
}