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

Mantiqiy turga o'tkazilganda qaysi qiymatlar false berishini eslang va yozing.

Задание 2

Kodni ishlamasdan, konsolga nima chiqishini aniqlang:

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

Kodni ishlamasdan, konsolga nima chiqishini aniqlang:

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

Kodni ishlamasdan, konsolga nima chiqishini aniqlang:

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

Kodni ishlamasdan, konsolga nima chiqishini aniqlang:

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

Kodni ishlamasdan, konsolga nima chiqishini aniqlang:

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

Kodni ishlamasdan, konsolga nima chiqishini aniqlang:

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

Kodni ishlamasdan, konsolga nima chiqishini aniqlang:

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