Mehr Möglichkeiten: else if
Mit if und else wählt ein Programm zwischen zwei Möglichkeiten. Oft gibt es mehr. Ein Fußballspiel zum Beispiel endet auf drei Arten: Die Heimmannschaft gewinnt, die Gastmannschaft gewinnt, oder es ist unentschieden. Für mehr Möglichkeiten fügst du else if-Zweige hinzu, jeden mit einer eigenen Bedingung:
const toreHeim = 3;
const toreGast = 2;
if (toreHeim > toreGast) {
console.log("Die Heimmannschaft hat gewonnen!");
} else if (toreHeim < toreGast) {
console.log("Die Gastmannschaft hat gewonnen!");
} else {
console.log("Unentschieden!");
}Das gibt Folgendes aus:
Die Heimmannschaft hat gewonnen!Das Programm prüft die Bedingungen von oben nach unten und führt den Block der ersten wahren aus. Den Rest der Kette überspringt es, auch wenn einige der späteren Bedingungen ebenfalls wahr sind. Nur wenn keine Bedingung wahr ist, wird der else-Block ausgeführt. Du kannst so viele else if-Zweige hinzufügen, wie du brauchst. Das else am Ende ist optional: Ohne es wird nichts ausgeführt, wenn keine Bedingung wahr ist.
Weil die erste wahre Bedingung gewinnt, ist die Reihenfolge der Bedingungen wichtig:
const punkte = 95;
if (punkte >= 50) {
console.log("Bestanden");
} else if (punkte >= 90) {
console.log("Ausgezeichnet");
}Das gibt Folgendes aus:
Bestanden95 Punkte sind ein ausgezeichnetes Ergebnis, aber die erste Bedingung, punkte >= 50, ist schon wahr, also kommt das Programm gar nicht zur zweiten. Setze die strengere Bedingung an den Anfang: punkte >= 90, dann punkte >= 50.
So schreibst du es:
Anweisungen
- 1
15 °C sind kein Wetter für einen Wintermantel. Füge zwischen dem
if-Block undelseeinenelse if-Zweig mit der Bedingungtemperatur > 10hinzu, derZieh eine Jacke anausgibt. - 2
Füge einen weiteren
else if-Zweig mit der Bedingungtemperatur > 18hinzu, derZieh einen Pullover anausgibt, und änderetemperaturauf20. Das Programm sollZieh einen Pullover anausgeben. Gibt esZieh eine Jacke anaus, steht die Bedingungtemperatur > 10zuerst und fängt auch 20 Grad ab: Verschiebe den neuen Zweig davor.