Արժեքների համեմատում բուլյան տիպի հետ 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('---');
}