JavaScript-те бул типіндегі мәндерді салыстыру
Алдыңғы мысалда салыстыру үшін
=== операторын қолдандық.
Бұл жағдайда біздің айнымалы
true-ке мән бойынша да,
тип бойынша да теңдікке салыстырылды.
Мұндай салыстыру үшін
== операторын да қолдануға болады.
Егер test айнымалысында
әрқашан true немесе
false мәндерінің бірі болса,
онда ештеңе өзгермейді:
let test = true; // мұнда true немесе false жазамыз
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Ал егер test айнымалысына
кез келген мәндер түсе алатын болса,
онда бәрі әлдеқайда күрделене түседі.
Осындай жағдайда, егер test айнымалысында
бул емес мән болса, онда бұл мән
алдымен бул типке түрлендіріледі де, содан кейін
ғана салыстырылады.
Мысалы, test айнымалысында
1 саны болсын. Бұл жағдайда ол алдымен
логикалық типке, яғни
true-ке түрлендіріледі. Содан кейін салыстыру орындалады:
let test = 1;
if (test == true) {
console.log('+++'); // бұл орындалады
} else {
console.log('---');
}
Ал, мысалы, 0 саны
false-ке түрлендіріледі.
Және біздің шартымыз нәтижесінде
'неверно' шығарады:
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('---');
}