Signatur
Beschreibung
Die if...else-Anweisung führt eine Anweisung aus, wenn eine angegebene Bedingung truthy ist. Wenn die Bedingung falsy ist, wird eine andere Anweisung in der optionalen else-Klausel ausgeführt.
Mehrere if...else-Anweisungen können verschachtelt werden, um eine else if-Klausel zu erzeugen. Beachte, dass es in JavaScript kein Schlüsselwort elseif (in einem Wort) gibt.
Die Bedingungen werden der Reihe nach ausgewertet, bis eine zu true ausgewertet wird. An diesem Punkt wird die zugehörige Anweisung ausgeführt und die übrigen else if-Klauseln werden übersprungen.
Um mehrere Anweisungen innerhalb einer Klausel auszuführen, verwende eine Block-Anweisung ({ /* ... */ }), um diese Anweisungen zu gruppieren.
Keine Blöcke zu verwenden kann zu verwirrendem Verhalten führen, insbesondere wenn der Code von Hand formatiert wird. Im Fall des sogenannten „dangling else" wird die else-Klausel mit der nächstgelegenen if-Klausel verknüpft. Es ist generell eine gute Praxis, immer Block-Anweisungen zu verwenden, insbesondere bei Code mit verschachtelten if-Anweisungen.
Verwechsle nicht die primitiven Boolean-Werte true und false mit Truthiness oder Falsiness des Boolean-Objekts. Jeder Wert, der nicht false, undefined, null, 0, -0, NaN oder der leere String ("") ist, sowie jedes Objekt, einschließlich eines Boolean-Objekts mit dem Wert false, gilt als truthy, wenn er als Bedingung verwendet wird.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $condition Pflicht | expression | — | Ein Ausdruck, der als truthy oder falsy betrachtet wird. |
| $statement1 Pflicht | statement | — | Anweisung, die ausgeführt wird, wenn condition truthy ist. Kann jede Anweisung sein, einschließlich weiterer verschachtelter if-Anweisungen. Um mehrere Anweisungen auszuführen, verwende eine Block-Anweisung ({ /* ... */ }), um diese Anweisungen zu gruppieren. Um keine Anweisungen auszuführen, verwende eine leere Anweisung. |
| $statement2 | statement | — | Anweisung, die ausgeführt wird, wenn condition falsy ist und die else-Klausel existiert. Kann jede Anweisung sein, einschließlich Block-Anweisungen und weiterer verschachtelter if-Anweisungen. |
Rückgabewert
Beispiele
Verwendung von if...else
if (cipherChar === fromChar) {
result += toChar;
x++;
} else {
result += clearChar;
}
Verwendung von else if
if (x > 50) {
/* do something */
} else if (x > 5) {
/* do something */
} else {
/* do something */
}
Eine Zuweisung als Bedingung verwenden
if ((x = y)) {
// …
}
Klarere Alternative zur Zuweisung als Bedingung
x = y;
if (x) {
// …
}
Truthy Boolean-Objekt
const b = new Boolean(false);
if (b) {
console.log("b is truthy"); // "b is truthy"
}