Kurz: Mit Bedingungen entscheidet dein Programm, welcher Code läuft.
Teil des Kurses JavaScript
Kapitel 8 von 40 im Kurs JavaScript (Abschnitt „Programmablauf“). Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.
Mit Bedingungen entscheidet dein Programm, welcher Code läuft.
if, else if, else
const punkte = 73;
if (punkte >= 90) {
console.log("sehr gut");
} else if (punkte >= 75) {
console.log("gut");
} else if (punkte >= 50) {
console.log("bestanden");
} else {
console.log("nicht bestanden");
}Ausgabe:
bestandenDie Bedingung steht in runden Klammern, der Code in geschweiften. Es wird nur der erste passende Zweig ausgeführt.
Tipp
Auch bei einzeiligen Zweigen solltest du geschweifte Klammern setzen. Das vermeidet Fehler beim späteren Erweitern.
Wahr und falsch
Bedingungen müssen kein echtes true sein: Jeder Wert gilt als truthy oder falsy (siehe Datentypen).
const name = "";
if (!name) console.log("Name fehlt");
const liste = [];
if (liste.length === 0) console.log("Liste leer");
const user = null;
if (user?.admin) console.log("Admin"); else console.log("kein Admin");Ausgabe:
Name fehlt
Liste leer
kein AdminMehrere Bedingungen verbinden
const alter = 25, mitglied = true;
if (alter >= 18 && mitglied) console.log("Zutritt");
if (alter < 6 || alter > 65) console.log("Rabatt");
if (!(alter < 18)) console.log("volljährig");Ausgabe:
Zutritt
volljährigswitch
Wenn du einen Wert mit vielen festen Möglichkeiten vergleichst, ist switch übersichtlich:
const tag = 3;
switch (tag) {
case 1:
console.log("Montag");
break;
case 2:
console.log("Dienstag");
break;
case 6:
case 7:
console.log("Wochenende");
break;
default:
console.log("Unter der Woche");
}Ausgabe:
Unter der Wochebreak beendet den Fall. Ohne break läuft der Code in den nächsten Fall weiter (Fall-through), was oft ein Fehler ist, aber hier für 6 und 7 gewollt genutzt wird. switch vergleicht mit ===.
Alternative: Objekt als Nachschlagetabelle
const namen = { 1: "Montag", 2: "Dienstag", 3: "Mittwoch" };
console.log(namen[2] ?? "unbekannt");
console.log(namen[9] ?? "unbekannt");Ausgabe:
Dienstag
unbekanntTernär und Early Return
Kurze Entscheidungen schreibst du mit ? :. In Funktionen hilft das frühe Beenden (early return), um verschachtelte if-Blöcke zu vermeiden:
function preis(alter) {
if (alter < 0) return "ungültig";
if (alter < 6) return 0;
if (alter < 18) return 5;
return 10;
}
console.log(preis(-1), preis(4), preis(12), preis(40));Ausgabe:
ungültig 0 5 10Merke
if,else if,else: nur der erste passende Zweig läuft- Immer geschweifte Klammern setzen
- Bedingungen nutzen truthy/falsy-Werte
switchvergleicht mit===und brauchtbreak- Früh zurückgeben statt tief zu verschachteln
Übungsaufgabe
Schreibe eine Funktion, die zu einer Temperatur “kalt” (unter 10), “mild” (10 bis 24) oder “warm” (ab 25) zurückgibt, einmal mit if und einmal mit switch(true).
Quiz zur Selbstkontrolle
Wozu dient break in einem switch?
- Es beendet den Fall und verhindert Fall-through (richtig)
- Es startet das Programm neu
- Es löscht die Variable
- Es springt zum Anfang
Wie viele Zweige einer if/else-if-Kette laufen?
- Höchstens einer (richtig)
- Alle passenden
- Immer zwei
- Alle
Welche Bedingung ist wahr?
- if (“0”) (richtig)
- if (0)
- if ("")
- if (null)
Weiter im Kurs
Zurück: Text: Strings
Weiter: Schleifen
Alle Kapitel: JavaScript im Überblick