Vergelijking van waarden met het boolean type in JavaScript
In het vorige voorbeeld gebruikten we voor de vergelijking
de operator ===. In dit geval werd onze variabele
vergeleken op gelijkheid met true, zowel
op waarde als op type.
Voor een dergelijke vergelijking kan ook
de operator == gebruikt worden. Als in de variabele test
altijd één van de waarden true
of false staat, dan verandert er niets:
let test = true; // hier schrijven we of true, of false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Maar als in de variabele test willekeurige
waarden kunnen voorkomen, dan wordt alles
veel ingewikkelder.
In dat geval, als er in de variabele test
geen boolean waarde staat, dan zal deze waarde
eerst worden omgezet naar een boolean en pas
daarna worden vergeleken.
Stel dat in de variabele test
het getal 1 staat. In dit geval wordt het eerst
omgezet naar het boolean type, dat wil zeggen
naar true. En vervolgens wordt de vergelijking uitgevoerd:
let test = 1;
if (test == true) {
console.log('+++'); // dit wordt uitgevoerd
} else {
console.log('---');
}
Het getal 0 daarentegen wordt omgezet
naar false. En onze voorwaarde zal als resultaat
'onwaar' weergeven:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // dit wordt uitgevoerd
}
In feite kan een dergelijke vergelijking expliciet als volgt worden herschreven:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Herinner en schrijf op, welke waarden bij
omzetting naar het boolean type
false geven.
Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Zonder de code uit te voeren, bepaal wat er in de console wordt weergegeven:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}