Direkt zum Hauptinhalt springen
eLearner.app
Modul 1 · Lektion 4 von 44/32 im Kurs~10 min
Lektionen des Moduls (4/4)

Bedingte Anweisungen: if, else, ternär

Ein Programm führt fast nie alle seine Anweisungen nacheinander aus. Es muss ständig entscheiden: Wenn der Preis unter dem Schwellenwert liegt, wende den Rabatt an; wenn der Benutzer angemeldet ist, zeige das Dashboard; andernfalls zeige den Login. Die Anweisungen, die zum Treffen von Entscheidungen dienen, heißen bedingte Anweisungen (Conditionals).

if / else

Die Grundform lautet if (condizione) { … } else { … }:

JS
const eta = 20;

if (eta >= 18) {
  console.log('Maggiorenne');
} else {
  console.log('Minorenne');
}

Die Bedingung in Klammern wird ausgewertet; wenn sie „wahrheitsähnlich“ (in JS sagt man truthy) ist, wird der erste Block ausgeführt, andernfalls der zweite.

else if-Ketten

Wenn es mehr als zwei Fälle gibt, werden sie mit else if verkettet:

JS
const punti = 87;
if (punti >= 90) {
  console.log('Eccellente');
} else if (punti >= 70) {
  console.log('Buono');
} else if (punti >= 50) {
  console.log('Sufficiente');
} else {
  console.log('Da migliorare');
}

Nur der erste Zweig, der zutrifft, wird ausgeführt.

Truthy und Falsy

JS betrachtet sechs Werte als „falsy“: false, 0, '' (leere Zeichenkette), null, undefined, NaN. Alles andere ist truthy – selbst '0', 'false' und das leere Array [].

JS
if ('0') console.log('arriva qui'); // 'arriva qui'
if ([]) console.log('e anche qui'); // 'e anche qui'
if (0) console.log('mai'); // (mai)

Der Ternär-Operator cond ? a : b

Wenn ein if/else nur einen einzelnen Wert erzeugt, drückt der Ternär-Operator dies in einer einzigen Zeile aus und ist oft besser lesbar:

JS
const eta = 20;
const stato = eta >= 18 ? 'adulto' : 'minorenne';

Probier es aus

Übung#js.m1.l4.e1
Versuche: 0Wird geladen…

Gib bei einer Note von 0 bis 10 'promosso' zurück, wenn die Note >= 6 ist, andernfalls 'bocciato'. Der letzte Ausdruck muss bei grade = 7 zu 'promosso' ausgewertet werden.

Editor wird geladen…
Hinweis anzeigen

Verwende den Ternär-Operator `cond ? a : b` als letzten Ausdruck.

Lösung nach 3 Versuchen verfügbar

Esercizio di ripasso

Übung#js.m1.l4.e2
Versuche: 0Wird geladen…

Klassifiziere eine temperatur: 'caldo' wenn >= 25, 'tiepido' wenn >= 15, andernfalls 'freddo'. Bei `t = 20` ist das erwartete Ergebnis 'tiepido'.

Editor wird geladen…
Hinweis anzeigen

Sie können Ternär-Operatoren verschachteln: `a >= 25 ? 'caldo' : a >= 15 ? 'tiepido' : 'freddo'`.

Lösung nach 3 Versuchen verfügbar