Vērtību salīdzināšana ar boolean tipu JavaScript
Iepriekšējā piemērā mēs izmantojām salīdzināšanai
operatoru ===. Šajā gadījumā mūsu mainīgais
tika salīdzināts ar vienādību true gan
pēc vērtības, gan pēc tipa.
Šādai salīdzināšanai var izmantot arī
operatoru ==. Ja mainīgajā test
vienmēr būs viena no vērtībām true
vai false, tad nekas nemainīsies:
let test = true; // šeit rakstām vai nu true, vai false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Bet ja mainīgajā test var
nonākt jebkuras vērtības, tad viss kļūst
daudz sarežģītāks.
Šādā gadījumā, ja mainīgajā test
būs ne boolean vērtība, tad šī vērtība
vispirms tiks pārveidota par boolean un tikai
tad tiks salīdzināta.
Pieņemsim, ka mainīgajā test
būs skaitlis 1. Šajā gadījumā tas vispirms
tiks pārveidots par loģisko tipu, tas ir,
par true. Un tad tiks veikts salīdzinājums:
let test = 1;
if (test == true) {
console.log('+++'); // izpildīsies šis
} else {
console.log('---');
}
Bet, piemēram, skaitlis 0 tiek pārveidots
par false. Un mūsu nosacījums rezultātā
izvadīs 'nevertīgs':
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // izpildīsies šis
}
Faktiski šādu salīdzinājumu var skaidri pārrakstīt šādā formā:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Atcerieties un uzrakstiet, kādas vērtības,
kad tiek pārveidotas par loģisko tipu, dod
false.
Nepalaižot kodu, nosakiet, kas tiks izvadīts konsolē:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Neipalaižot kodu, nosakiet, kas tiks izvadīts konsolē:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Neipalaižot kodu, nosakiet, kas tiks izvadīts konsolē:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Neipalaižot kodu, nosakiet, kas tiks izvadīts konsolē:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Neipalaižot kodu, nosakiet, kas tiks izvadīts konsolē:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Neipalaižot kodu, nosakiet, kas tiks izvadīts konsolē:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Neipalaižot kodu, nosakiet, kas tiks izvadīts konsolē:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}