Krahasimi i vlerave me tipin boolean në JavaScript
Në shembullin e mëparshëm ne përdorëm për krahasim
operatorin ===. Në këtë rast ndryshorja jonë
krahasohej për barazi true si
për vlerë, ashtu edhe për tip.
Për një krahasim të tillë mund të përdoret edhe
operatori ==. Nëse në ndryshoren test
gjithmonë do të jetë një nga vlerat true
ose false, atëherë asgjë nuk do të ndryshojë:
let test = true; // këtu shkruajmë ose true, ose false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Por nëse në ndryshoren test mund
të bien çdo lloj vlere, atëherë gjithçka bëhet
shumë më e ndërlikuar.
Në këtë rast, nëse në ndryshoren test
nuk është një vlerë boolean, atëherë kjo vlerë
së pari do të shndërrohet në boolean dhe vetëm
pas kësaj do të krahasohet.
Le të themi, për shembull, në ndryshoren test
të jetë numri 1. Në këtë rast ai së pari
do të shndërrohet në tipin logjik, domethënë
në true. Dhe pastaj do të kryhet krahasimi:
let test = 1;
if (test == true) {
console.log('+++'); // kjo do të ekzekutohet
} else {
console.log('---');
}
Por, për shembull, numri 0 shndërrohet
në false. Dhe kushti ynë si rezultat
do të nxjerrë '---':
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // kjo do të ekzekutohet
}
Në fakt, një krahasim i tillë mund të rishkruhet në mënyrë eksplicite në formën e mëposhtme:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Kujtoni dhe shkruani, cilat vlera
gjatë shndërrimit në tipin logjik japin
false.
Pa e ekzekutuar kodin, përcaktoni çfarë do të printohet në konsol:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Pa e ekzekutuar kodin, përcaktoni çfarë do të printohet në konsol:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Pa e ekzekutuar kodin, përcaktoni çfarë do të printohet në konsol:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Pa e ekzekutuar kodin, përcaktoni çfarë do të printohet në konsol:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Pa e ekzekutuar kodin, përcaktoni çfarë do të printohet në konsol:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Pa e ekzekutuar kodin, përcaktoni çfarë do të printohet në konsol:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Pa e ekzekutuar kodin, përcaktoni çfarë do të printohet në konsol:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}