Primerjava vrednosti z logičnim tipom v JavaScript
V prejšnjem primeru smo za primerjavo uporabili
operator ===. V tem primeru se naša spremenljivka
primerja z true glede
enakosti tako po vrednosti kot po tipu.
Za takšno primerjavo lahko uporabimo tudi
operator ==. Če bo v spremenljivki test
vedno ena od vrednosti true
ali false, se nič ne spremeni:
let test = true; // tukaj napišemo true ali false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Če pa lahko v spremenljivko test
pristanejo poljubne vrednosti, potem vse postane
veliko bolj zapleteno.
V tem primeru, če v spremenljivki test
ni logične vrednosti, bo ta vrednost
najprej pretvorjena v logično in šele
nato primerjana.
Recimo, da je v spremenljivki test
število 1. V tem primeru se bo najprej
pretvorilo v logični tip, torej
v true. In nato bo izvedena primerjava:
let test = 1;
if (test == true) {
console.log('+++'); // to se bo izvedlo
} else {
console.log('---');
}
Po drugi strani pa se bo na primer število 0 pretvorilo
v false. In naš pogoj bo kot rezultat
izpisal 'neverno':
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // to se bo izvedlo
}
Pravzaprav lahko takšno primerjavo eksplicitno prepišemo v naslednjo obliko:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Spomnite se in napišite, katere vrednosti
pri pretvorbi v logični tip dajejo
false.
Brez zagon kode določite, kaj se bo izpisalo v konzolo:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Brez zagon kode določite, kaj se bo izpisalo v konzolo:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Brez zagon kode določite, kaj se bo izpisalo v konzolo:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Brez zagon kode določite, kaj se bo izpisalo v konzolo:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Brez zagon kode določite, kaj se bo izpisalo v konzolo:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Brez zagon kode določite, kaj se bo izpisalo v konzolo:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Brez zagon kode določite, kaj se bo izpisalo v konzolo:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}