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:
javascriptlet 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:
javascriptlet 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:
javascriptlet test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // bu ishlaydi
}
Aslida bunday taqqoslashni aniq ravishda quyidagicha qayta yozish mumkin:
javascriptlet 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:
javascriptlet test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
javascriptlet test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
javascriptlet test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
javascriptlet test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
javascriptlet test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
javascriptlet test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Kodni ishlamasdan, konsolga nima chiqishini aniqlang:
javascriptlet test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}