Vergelyking van waardes met Boole-tipe in JavaScript
In die vorige voorbeeld het ons die operator
=== gebruik vir vergelyking.
In dié geval is ons veranderlike gelykgestel
aan true, beide in waarde en tipe.
Vir so 'n vergelyking kan jy ook die operator
== gebruik. As die veranderlike test
altyd een van die waardes true
of false is, sal niks verander nie:
let test = true; // hier skryf ons óf true, óf false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Maar as enige waardes in die veranderlike test
kan beland, word alles baie meer ingewikkeld.
In so 'n geval, as die veranderlike test
nie 'n Boole-waarde is nie, sal daardie waarde
eers na Boole- getipeer word en slegs dán
vergelyk word.
Laat ons byvoorbeeld sê die veranderlike test
bevat die getal 1. In dié geval sal dit eers
na die logiese tipe omgeskakel word, dit wil sê
na true. En dan sal die vergelyking uitgevoer word:
let test = 1;
if (test == true) {
console.log('+++'); // dit sal werk
} else {
console.log('---');
}
Maar byvoorbeeld, die getal 0 word omgeskakel
na false. En ons voorwaarde sal as gevolg
'verkeerd' uitvoer:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // dit sal werk
}
In werklikheid kan so 'n vergelyking eksplisiet herskryf word in die volgende vorm:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Onthou en skryf neer watter waardes, wanneer
na die logiese tipe omgeskakel,
false gee.
Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Sonder om die kode uit te voer, bepaal wat in die konsole uitgevoer sal word:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}