Vergleich von Werten mit dem Boolean-Typ in JavaScript
Im vorherigen Beispiel haben wir für den Vergleich den
Operator === verwendet. In diesem Fall wurde unsere Variable
auf Gleichheit mit true sowohl
im Wert als auch im Typ verglichen.
Für einen solchen Vergleich kann auch der
Operator == verwendet werden. Wenn in der Variable test
immer entweder der Wert true
oder false steht, dann ändert sich nichts:
let test = true; // hier schreiben wir entweder true oder false
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Wenn jedoch in die Variable test
beliebige Werte gelangen können, wird alles viel
komplizierter.
In einem solchen Fall, wenn in der Variable test
kein Boolean-Wert steht, wird dieser Wert
zuerst in einen Boolean umgewandelt und erst
dann wird der Vergleich durchgeführt.
Nehmen wir zum Beispiel an, in der Variable test
befinde sich die Zahl 1. In diesem Fall wird sie zuerst
in den logischen Typ umgewandelt, also
in true. Und dann wird der Vergleich durchgeführt:
let test = 1;
if (test == true) {
console.log('+++'); // das wird ausgeführt
} else {
console.log('---');
}
Die Zahl 0 hingegen wird beispielsweise
in false umgewandelt. Und unsere Bedingung wird
daher 'nicht wahr' ausgeben:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---'); // das wird ausgeführt
}
Praktisch könnte man einen solchen Vergleich explizit wie folgt umschreiben:
let test = 1;
if (Boolean(test) == true) {
console.log('+++');
} else {
console.log('---');
}
Erinnern Sie sich und schreiben Sie auf, welche Werte bei
der Umwandlung in den Boolean-Typ
false ergeben.
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let test = 1;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let test = 0;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let test = 1;
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let test = 1;
if (test != true) {
console.log('+++');
} else {
console.log('---');
}
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let test = '';
if (test == false) {
console.log('+++');
} else {
console.log('---');
}
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let test;
if (test == true) {
console.log('+++');
} else {
console.log('---');
}
Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:
let test = 3 * 'a';
if (test == true) {
console.log('+++');
} else {
console.log('---');
}