In der Programmierung geht es oft darum ob eine bestimmte Bedingung erfüllt ist, um dementsprechend eine Anweisung auszuführen oder wenn die Bedingung nicht erfüllt ist eine andere Anweisung auszuführen.
Beisielsweise könnte man abfragen ob ein User eingeloggt ist. Ist es der Fall erscheint sein Konto, ist er nicht eingeloggt erscheint die Login Seite.
Derartige bedingte Anweisungen kann man mit einer if-Struktur erstellen. Nach dem if wird in Klammern eine Variable mit boolschem Wert oder ein Ausdruck der true oder false zurückgibt eingegeben.
let userLogin = true; if(userLogin){ alert("Hello User"); }else{ alert("Please Login"); }
if(Bedingung true){ Fall A tritt in Kraft; }else{ Fall B tritt in Kraft; }
Man kann auch weitere Bedingungen definieren, die nacheinander abgearbeitet werden.
if (Bedingung1 true){ Anweisung 1; } else if(Bedingung2 true){ Anweisung 2; } else{ Anweisung 3; }
Hier ein Beispiel für eine Altersabfrage:
let alter = 63; if(alter < 16){ console.log("Sie dürfen diesen Film nicht gucken.") }else if( alter >= 16){ console.log("Sie sind alt genug für diesen Film.") }
Wenn man derlei Bedingungen definiert muss man bedenken, dass die Bedingung von oben nach unten abgefragt werden und dass nach einer erfüllten Bedingung die weiteren Bedingungen nicht mehr abgefragt werden. Somit ist auch die Reihenfolge der Bedingungen wichtig. Im folgenden Beispiel dürfte die Reihenfolge nicht vertauscht sein, denn dann würden auch beim Alter über 18 der Hinweis für Filme über 16 angezeigt.
if (alter > 18){ console.log("Filme ab 18"); } else if(alter > 16){ console.log("Filme ab 16"); }
Die geschweiften Klammern sind ein Codeblock, in dem mehrere Anweisungen aufgeführt werden können.
Hat man nur eine Anweisung die ausgeführt wird, benötigt man keine geschweiften Klammern. Es ist aber immer übersichtlicher diese zu setzen.
Eng verwandt mit diesem Thema sind folgende Themen.
Siehe auch Boolsche Datentypen
Siehe auch logische Operatoren und Vergleichsoperatoren
Unter Operatoren wird der Ternäre Auswahloperator erklärt. Er ermöglicht eine kürzere Schreibweise einer if-else Struktur.
Beispiele