Споредување на вредности со булов тип во JavaScript
Во претходниот пример го користевме за споредување
операторот ===. Во овој случај нашата променлива
се споредуваше на еднаквост со true и
по вредност и по тип.
За вакво споредување може да се користи и
операторот ==. Ако во променливата test
секогаш ќе има една од вредностите true
или false, тогаш ништо нема да се промени:
javascriptlet test = true; // тука пишуваме или true, или false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Но, ако во променливата test може
да се појават какви било вредности, тогаш сè станува
многу покомплицирано.
Во таков случај, ако во променливата test
нема булова вредност, тогаш таа вредност
прво ќе се преобразува во булова и дури
потоа ќе се споредува.
Нека, на пример, во променливата test
има број 1. Во овој случај тој прво
ќе се преобразува во логички тип, односно
во true. И потоа ќе се изврши споредувањето:
javascriptlet test = 1;
if (test == true) {
console.log('+++'); // ќе се активира ова
} else {
console.log('---');
}
Но, на пример, бројот 0 се преобразува
во false. И нашиот услов како резултат
ќе испечати 'неверно':
javascriptlet test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // ќе се активира ова
}
Всушност, ваквото споредување може експлицитно да се препише на следниов начин:
javascriptlet test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Потсетете се и напишете, кои вредности при
претворање во логички тип даваат
false.
Без да ја стартувате програмата, определете што ќе се испечати во конзолата:
javascriptlet test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Без да ја стартувате програмата, определете што ќе се испечати во конзолата:
javascriptlet test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Без да ја стартувате програмата, определете што ќе се испечати во конзолата:
javascriptlet test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Без да ја стартувате програмата, определете што ќе се испечати во конзолата:
javascriptlet test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Без да ја стартувате програмата, определете што ќе се испечати во конзолата:
javascriptlet test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Без да ја стартувате програмата, определете што ќе се испечати во конзолата:
javascriptlet test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Без да ја стартувате програмата, определете што ќе се испечати во конзолата:
javascriptlet test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}