JavaScriptда булен қийматларини солиштириш

Олдинги мисолда биз солиштириш учун === операторини ишлатган эдик. Бунда бизнинг ўзгарувчимиз true га қиймат ва тур жиҳатидан тенгликка солиштирилди.

Бундай солиштириш учун == операторини ҳам ишлатиш мумкин. Агар test ўзгарувчисида ҳар доим true ёки false қийматларидан бити бўлса, у ҳеч нарса ўзгармайди:

javascriptlet test = true; // бу ерга true ёки false ёзамиз

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

Aгар test ўзгарувчисига исталган қийматлар тушуши мумкин бўлса, ҳамма нарса анада мураккаблашади.

Бундай ҳолатда, агар test ўзгарувчисида булен бўлмаган қиймат бўлса, у қиймат аввал булен турга ўгирилади ва сўнггина солиштирилади.

Масалан, test ўзгарувчисида 1 сони бўлсин. Бунда у аввал мантиқий турга, яъни true га ўгирилади. Ва сўнгра солиштириш амалга оширилади:

javascriptlet test = 1;

if (test == true) {
  console.log('+++'); // бу ишлайди
} else {
  console.log('---');
}

Aмаки, масалан, 0 сони false га ўгирилади. Ва бизнинг шартимиз натижада 'noto‘g‘ri' ни чиқаради:

javascriptlet test = 0;

if (test == true) {
  console.log('+++');
} else {
  console.log('---'); // бу ишлайди
}

Аслда бундай солиштиришни аниқ қуйидаги кўринишда қайта ёзиш мумкин:

javascriptlet test = 1;

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

Эсланг ва ёзинг, қайси қийматлар мантиқий турга олиб борилганда false ни беради.

Задание 2

Кодни ишлатмасдан, аниқланг, консолга нима чиқади:

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

Кодни ишлатмасдан, аниқланг, консолга нима чиқади:

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

Кодни ишлатмасдан, аниқланг, консолга нима чиқади:

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

Кодни ишлатмасдан, аниқланг, консолга нима чиқади:

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

Кодни ишлатмасдан, аниқланг, консолга нима чиқади:

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

Кодни ишлатмасдан, аниқланг, консолга нима чиқади:

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

Кодни ишлатмасдан, аниқланг, консолга нима чиқади:

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