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:
let 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:
let 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:
let 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:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Xatırlayın və yazın, məntiqi tipə çevirildikdə
false verən dəyərlər hansılardır.
Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodu işə salmadan müəyyən edin ki, konsola nə çıxacaq:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}