JavaScript 4 — Bedingungen & Kontrollstrukturen

In dieser Lektion lernst du, wie JavaScript Entscheidungen trifft. Bedingungen und Kontrollstrukturen bestimmen, welcher Code ausgeführt wird und wie oft. Ohne sie wäre JavaScript nur eine Abfolge starrer Anweisungen.

1. Warum braucht man Bedingungen?

Definition.
Eine Bedingung ist ein Ausdruck, der entweder true oder false ergibt und steuert, ob ein bestimmter Codeblock ausgeführt wird.

Typische Fragen, die Bedingungen beantworten:

2. Die if-Anweisung

Mit if wird ein Codeblock nur dann ausgeführt, wenn eine Bedingung true ist.
let age = 20;

if (age >= 18) {
  console.log("Zugang erlaubt");
}
Der Code in den geschweiften Klammern wird nur ausgeführt, wenn die Bedingung erfüllt ist.

3. if–else

Mit else wird ein alternativer Codeblock ausgeführt, wenn die Bedingung false ist.
let age = 16;

if (age >= 18) {
  console.log("Zugang erlaubt");
} else {
  console.log("Zugang verweigert");
}

4. else if — mehrere Fälle

Mit else if können mehrere Bedingungen nacheinander geprüft werden.
let score = 82;

if (score >= 90) {
  console.log("Sehr gut");
} else if (score >= 75) {
  console.log("Gut");
} else if (score >= 50) {
  console.log("Bestanden");
} else {
  console.log("Nicht bestanden");
}
Die Bedingungen werden von oben nach unten geprüft. Sobald eine zutrifft, werden die restlichen übersprungen.

5. Vergleichs- und logische Operatoren in Bedingungen

Bedingungen bestehen fast immer aus Vergleichs- und logischen Operatoren.
let age = 22;
let hasTicket = true;

if (age >= 18 && hasTicket) {
  console.log("Einlass erlaubt");
}
Komplexe Bedingungen sollten trotzdem gut lesbar bleiben. Im Zweifel lieber mehrere einfache Bedingungen.

6. Truthy und Falsy in Bedingungen

In JavaScript können auch Nicht-Boolean-Werte in Bedingungen verwendet werden.
let username = "";

if (username) {
  console.log("Benutzername vorhanden");
} else {
  console.log("Kein Benutzername");
}
Leere Strings, 0, null, undefined und NaN werden als false interpretiert.

7. Der ternäre Operator

Der ternäre Operator ist eine Kurzform von if–else und besteht aus drei Teilen.
let age = 18;

let message = (age >= 18)
  ? "Volljährig"
  : "Minderjährig";

console.log(message);
Der ternäre Operator eignet sich für einfache Entscheidungen, nicht für komplexe Logik.

8. switch-Anweisung

switch wird verwendet, wenn ein Wert mit mehreren festen Fällen verglichen werden soll.
let day = 3;

switch (day) {
  case 1:
    console.log("Montag");
    break;
  case 2:
    console.log("Dienstag");
    break;
  case 3:
    console.log("Mittwoch");
    break;
  default:
    console.log("Unbekannter Tag");
}
Ohne break läuft der Code in den nächsten Fall weiter (Fallthrough).

9. Schleifen – Wiederholungen

Schleifen führen einen Codeblock mehrfach aus, solange eine Bedingung erfüllt ist.

9.1 while-Schleife

let i = 0;

while (i < 3) {
  console.log(i);
  i++;
}

9.2 for-Schleife

Die for-Schleife kombiniert Initialisierung, Bedingung und Update an einer Stelle.
for (let i = 0; i < 3; i++) {
  console.log(i);
}
Die for-Schleife ist die am häufigsten verwendete Schleife.

10. break und continue

Mit break wird eine Schleife beendet, mit continue wird der aktuelle Durchlauf übersprungen.
for (let i = 0; i < 5; i++) {
  if (i === 2) continue;
  if (i === 4) break;
  console.log(i);
}

11. Gute Praxis

Gut:
if (!user) {
  return;
}

12. Übungen

Übung 1.
Prüfe, ob eine Zahl positiv, negativ oder null ist.
Übung 2.
Gib alle geraden Zahlen von 1 bis 20 mit einer Schleife aus.
Übung 3.
Nutze switch, um eine Schulnote (1–6) in einen Text umzuwandeln.

13. Zusammenfassung

Wer Kontrollstrukturen beherrscht, bringt Logik in Bewegung.