Поређење вредности са логичким (буловим) типом у 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('---');
}