JavaScript-da Mantiqiy Turdagi Qiymatlarni Taqqoslash
Oldingi misolda biz taqqoslash uchun
=== operatoridan foydalandik.
Bunda bizning o'zgaruvchimiz
true ga qiymat va tur
jihatidan tenglikka taqqoslandi.
Bunday taqqoslash uchun
== operatoridan ham foydalanish mumkin.
Agar test o'zgaruvchisida
har doim true yoki
false qiymatlari bo'lsa, hech narsa o'zgarmaydi:
let test = true; // bu yerda yozamiz yoki true, yoki false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Ammo agar test o'zgaruvchisiga
har qanday qiymat tushishi mumkin bo'lsa, hamma narsa
ancha murakkablashadi.
Bunday holda, agar test o'zgaruvchisida
mantiqiy bo'lmagan qiymat bo'lsa, bu qiymat
avval mantiqiy turga o'tkaziladi va shundan keyingina
taqqoslanadi.
Masalan, test o'zgaruvchisida
1 soni bo'lsin. Bunda u avval
mantiqiy turga o'tkaziladi, ya'ni
true ga. Va keyin taqqoslash bajariladi:
let test = 1;
if (test == true) {
console.log('+++'); // bu ishlaydi
} else {
console.log('---');
}
Ammo, masalan, 0 soni
false ga o'tkaziladi. Va bizning shartimiz natijada
'noto‘g‘ri' ni chiqaradi:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // bu ishlaydi
}
Aslida bunday taqqoslashni aniq ravishda quyidagicha qayta yozish mumkin:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Mantiqiy turga o'tkazilganda qaysi qiymatlar
false berishini eslang va yozing.
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}