JavaScript-də Boolean Tipi ilə Dəyərlərin Müqayisəsi

Əvvəlki misalda biz müqayisə üçün === operatorundan istifadə etdik. Bu halda bizim dəyişənimiz true ilə həm dəyər, həm də tip baxımından bərabərlik yoxlanılır.

Belə bir müqayisə üçün == operatorundan da istifadə etmək olar. Əgər test dəyişənində həmişə true və ya false dəyərlərindən biri olarsa, heç nə dəyişməyəcək:

javascriptlet test = true; // bura ya true, ya da false yazırıq

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

Amma əgər test dəyişəninə istənilən dəyərlər düşə bilərsə, onda hər şey daha mürəkkəb olur.

Belə bir halda, əgər test dəyişənində boolean olmayan bir dəyər olarsa, bu dəyər əvvəlcə boolean tipinə çevriləcək və yalnız ondan sonra müqayisə ediləcək.

Məsələn, test dəyişənində 1 rəqəmi olsun. Bu halda əvvəlcə o məntiqi tipə çevriləcək, yəni true. Və sonra müqayisə yerinə yetiriləcək:

javascriptlet test = 1;

if (test == true) {
  console.log('+++'); // bu işləyəcək
} else {
  console.log('---');
}

Amma, məsələn, 0 rəqəmi false-ə çevrilir. Və bizim şərtimiz nəticədə '---' çıxaracaq:

javascriptlet test = 0;

if (test == true) {
  console.log('+++');
} else {
  console.log('---'); // bu işləyəcək
}

Əslində belə bir müqayisəni aşkar şəkildə aşağıdakı kimi yenidən yazmaq olar:

javascriptlet test = 1;

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

Xatırlayın və yazın, məntiqi tipə çevirildikdə false verən dəyərlər hansılardır.

Задание 2

Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:

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

Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:

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

Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:

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

Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:

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

Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:

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

Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:

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

Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:

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