JavaScriptда булен қийматларини солиштириш
Олдинги мисолда биз солиштириш учун
=== операторини ишлатган эдик. Бунда бизнинг ўзгарувчимиз
true га қиймат ва тур жиҳатидан тенгликка солиштирилди.
Бундай солиштириш учун == операторини ҳам ишлатиш мумкин. Агар test ўзгарувчисида
ҳар доим true ёки false қийматларидан бити бўлса, у ҳеч нарса ўзгармайди:
let test = true; // бу ерга true ёки false ёзамиз
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Aгар test ўзгарувчисига исталган қийматлар тушуши мумкин бўлса, ҳамма нарса анада мураккаблашади.
Бундай ҳолатда, агар test ўзгарувчисида булен бўлмаган қиймат бўлса, у қиймат аввал булен турга ўгирилади ва сўнггина солиштирилади.
Масалан, test ўзгарувчисида 1 сони бўлсин. Бунда у аввал мантиқий турга, яъни true га ўгирилади. Ва сўнгра солиштириш амалга оширилади:
let test = 1;
if (test == true) {
console.log('+++'); // бу ишлайди
} else {
console.log('---');
}
Aмаки, масалан, 0 сони false га ўгирилади. Ва бизнинг шартимиз натижада 'noto‘g‘ri' ни чиқаради:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // бу ишлайди
}
Аслда бундай солиштиришни аниқ қуйидаги кўринишда қайта ёзиш мумкин:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Эсланг ва ёзинг, қайси қийматлар мантиқий турга олиб борилганда
false ни беради.
Кодни ишлатмасдан, аниқланг, консолга нима чиқади:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Кодни ишлатмасдан, аниқланг, консолга нима чиқади:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Кодни ишлатмасдан, аниқланг, консолга нима чиқади:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Кодни ишлатмасдан, аниқланг, консолга нима чиқади:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Кодни ишлатмасдан, аниқланг, консолга нима чиқади:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Кодни ишлатмасдан, аниқланг, консолга нима чиқади:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Кодни ишлатмасдан, аниқланг, консолга нима чиқади:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}