Entscheidungen mit if und else
Eine if-Anweisung führt einen Codeblock nur aus, wenn ihre Bedingung true ist. Mit else if prüft JavaScript Bedingungen von oben und hält bei der ersten wahren an.
Code nur manchmal ausführen
Jedes Programm bisher hat jede Zeile jedes Mal ausgeführt. Nützliche Programme verhalten sich in verschiedenen Situationen verschieden: Ein Spiel zeigt "You win" nur, wenn der Punktestand hoch genug ist, und ein Shop berechnet eine Liefergebühr nur bei kleinen Bestellungen. Mit der if-Anweisung trifft JavaScript solche Entscheidungen.
const temperature = 31;
if (temperature >= 30) {
console.log("Hot day. Drink water.");
}
console.log("Done");Die Bedingung steht in runden Klammern nach dem Wort if. Das ist ein beliebiger Ausdruck, der einen Boolean ergibt, meist ein Vergleich aus der letzten Einheit. Der Code, der laufen soll, wenn sie true ist, steht in geschweiften Klammern, die einen Block bilden. Ist die Bedingung false, überspringt JavaScript den ganzen Block und macht nach der schließenden Klammer weiter. Oben werden beide Zeilen ausgegeben. Setz temperature auf 20, und nur "Done" erscheint. Die Zeilen im Block sind um zwei Leerzeichen eingerückt. JavaScript braucht die Einrückung nicht, aber sie zeigt auf einen Blick, welche Zeilen zum if gehören, und jeder erfahrene Programmierer erwartet sie.
else: der andere Weg
Oft willst du eine Sache, wenn die Bedingung true ist, und eine andere, wenn sie false ist. Füg einen else-Block hinzu. Genau einer der beiden Blöcke läuft, nie beide und nie keiner.
const n = 7;
if (n % 2 === 0) {
console.log(n + " is even");
} else {
console.log(n + " is odd");
}
// gibt aus: 7 is oddelse if: mehr als zwei Möglichkeiten
Bei mehreren Möglichkeiten verkettest du Bedingungen mit else if. JavaScript prüft sie von oben. Sobald eine true ist, führt es diesen Block aus und überspringt alle übrigen, selbst wenn spätere Bedingungen auch true wären. Das letzte else fängt alles auf, was oben nirgends gepasst hat.
const score = 72;
if (score >= 90) {
console.log("A");
} else if (score >= 80) {
console.log("B");
} else if (score >= 70) {
console.log("C");
} else {
console.log("F");
}
// gibt aus: CDie Reihenfolge der Bedingungen ist wichtig. Bei 95 Punkten ist schon der erste Test true, und A wird ausgegeben. Stünden die Tests andersherum und begännen mit score >= 70, würde 95 schon beim ersten Test anhalten und C ausgeben. Wenn sich die Bereiche so überschneiden, setz die engste Bedingung an den Anfang. Code von Hand durchzugehen, ist eine gute Gewohnheit: Wähl einen Wert, lies von oben und sag laut, welchen Zweig er nimmt.
Verschachteln und verknüpfen
Ein Block kann eine weitere if-Anweisung enthalten, das nennt man Verschachteln. Tiefe Verschachtelung vermeidest du oft, indem du Bedingungen mit && und || aus der letzten Einheit verknüpfst. Diese beiden Codestücke erledigen dieselbe Aufgabe, und das zweite ist leichter zu lesen:
if (age >= 8) {
if (height >= 120) {
console.log("You can ride");
}
}
if (age >= 8 && height >= 120) {
console.log("You can ride");
}Der Bedingungsoperator
Wenn du nur zwischen zwei Werten wählen musst, gibt es eine kompakte Form, den Bedingungsoperator (ternären Operator): condition ? valueIfTrue : valueIfFalse. Zum Beispiel const label = n % 2 === 0 ? "even" : "odd";. Nutze ihn für kurze Wertauswahlen. Für alles, was mehrere Anweisungen ausführt, ist ein normales if und else klarer.
Ein häufiger Ausrutscher ist ein einzelnes Gleichheitszeichen in der Bedingung: if (score = 100). Das speichert 100 in score, statt zu vergleichen, und der Block läuft jedes Mal. Vergleiche immer mit ===.
if (Bedingung) { ... } else if (andere Bedingung) { ... } else { ... }
| Bedingung | Der boolesche Ausdruck in if ( ) |
| Block | In { } zusammengefasste Anweisungen |
| else | Läuft, wenn die if-Bedingung false ist |
| else if | Eine weitere Bedingung, nur geprüft, wenn die darüber false waren |
| Zweig | Einer der möglichen Wege durch eine if-Anweisung |
| Verschachteln | Ein if in einem anderen if |
| ternärer Operator | Bed ? a : b wählt einen von zwei Werten |
| Einrückung | Leerzeichen am Zeilenanfang innerhalb eines Blocks |
- Was gibt das aus?
const x = 5; if (x > 3) { console.log("big"); } else { console.log("small"); } - Was gibt das aus?
const x = 2; if (x > 3) { console.log("big"); } console.log("end");- big, then end
- Only end
- Nothing
- Was gibt das aus?
const t = 18; if (t >= 30) { console.log("hot"); } else if (t >= 15) { console.log("mild"); } else { console.log("cold"); } - Was gibt das aus?
const s = 95; if (s >= 70) { console.log("C"); } else if (s >= 90) { console.log("A"); } - Wie viele Blöcke laufen in einer Kette aus if / else if / else höchstens?
- Was gibt das aus?
const n = 10; console.log(n > 5 ? "yes" : "no"); - Was gibt das aus?
const a = 4; const b = 9; if (a > 5 || b > 5) { console.log("one"); } else { console.log("none"); } - Was gibt das aus?
const a = 4; const b = 9; if (a > 5 && b > 5) { console.log("both"); } else { console.log("not both"); } - Was ist an
if (score = 100)falsch?- Nichts
- Es speichert 100, statt zu vergleichen; === verwenden
- Es braucht innen ein Semikolon
- Was gibt das aus?
let msg = "start"; const n = 0; if (n) { msg = "nonzero"; } console.log(msg);
- if (Bedingung) { ... } führt den Block nur aus, wenn die Bedingung true ist.
- else läuft, wenn sie false ist; genau einer der beiden läuft.
- else-if-Ketten werden von oben geprüft; die erste wahre gewinnt.
- Bei überlappenden Bereichen die engste Bedingung zuerst.
- Mit === vergleichen, nie mit einem einzelnen =.
Quellen zu diesem Kurs (2)
- MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
- Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17)
Abgerufen: 2026-10-17