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