Upoređivanje vrednosti sa bulovskim tipom u JavaScript-u
U prethodnom primeru koristili smo za upoređivanje
operator ===. U ovom slučaju naša promenljiva
je upoređivana na jednakost sa true
i po vrednosti i po tipu.
Za takvo upoređivanje se može koristiti i
operator ==. Ako u promenljivoj test
uvek bude jedna od vrednosti true
ili false, onda se ništa neće promeniti:
let test = true; // ovde pišemo ili true, ili false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
A ako u promenljivu test mogu
upasti bilo koje vrednosti, onda sve postaje
mnogo komplikovanije.
U tom slučaju, ako u promenljivoj test
bude ne bulovska vrednost, onda će ta vrednost
prvo biti pretvorena u bulovsku i tek
zatim će biti upoređivana.
Neka, na primer, u promenljivoj test
bude broj 1. U ovom slučaju on će prvo
biti pretvoren u logički tip, odnosno
u true. I zatim će biti izvršeno upoređivanje:
let test = 1;
if (test == true) {
console.log('+++'); // ovo će se izvršiti
} else {
console.log('---');
}
A, na primer, broj 0 se pretvara
u false. I naš uslov će kao rezultat
ispisati 'neispravno':
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // ovo će se izvršiti
}
Zapravo, takvo upoređivanje se može eksplicitno prepisati u sledećem obliku:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Prisetite se i napišite koje vrednosti
prilikom pretvaranja u logički tip daju
false.
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Bez pokretanja koda, odredite šta će biti ispisano u konzoli:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}