Die if-Anweisung
Bisher haben deine Programme jede Zeile ausgeführt, eine nach der anderen, von oben nach unten. Ein Programm muss aber oft entscheiden, was zu tun ist: eine Warnung nur anzeigen, wenn ein Passwort zu kurz ist, oder einen Rabatt nur geben, wenn der Kunde Student ist. Solche Entscheidungen treffen wir ständig: Wenn es regnet, nehme ich einen Regenschirm mit.
In JavaScript schreibst du eine Entscheidung mit der if-Anweisung:
const temperatur = 30;
if (temperatur > 25) {
console.log("Es ist heiß, nimm eine Mütze mit");
}
console.log("Schönen Tag noch");Das gibt Folgendes aus:
Es ist heiß, nimm eine Mütze mit
Schönen Tag nochDie if-Anweisung hat drei Teile:
- das Schlüsselwort
if(wieletundconstein Wort mit besonderer Bedeutung in JavaScript); - eine Bedingung in runden Klammern:
temperatur > 25. Eine Bedingung ist eine Frage, die man nur mit Ja (wahr) oder Nein (falsch) beantworten kann: Ist die Temperatur größer als 25? - einen Codeblock in geschweiften Klammern
{ }. Der Block wird nur ausgeführt, wenn die Bedingung wahr ist, und er kann beliebig viele Zeilen haben.
Die Zeilen im Block sind um 4 Leerzeichen eingerückt (oder mit der Tab-Taste). JavaScript braucht die Einrückung nicht, aber man sieht auf einen Blick, welche Zeilen zum Block gehören.
Nach dem Block läuft das Programm normal weiter, deshalb wird Schönen Tag noch in jedem Fall ausgegeben. Wäre temperatur gleich 10, wäre die Bedingung falsch: Das Programm würde den Block überspringen und nur Schönen Tag noch ausgeben.
Achte auf die Semikolons. Die Zeilen im Block enden wie üblich mit ;, aber nach if (...) steht kein Semikolon. Eines dort zu setzen ist ein typischer Anfängerfehler, und JavaScript meldet dabei keinen Fehler:
const temperatur = 10;
if (temperatur > 25); {
console.log("Es ist heiß, nimm eine Mütze mit");
}Das gibt Folgendes aus:
Es ist heiß, nimm eine Mütze mitDas Semikolon beendet die if-Anweisung gleich dort, ohne dass etwas zu tun ist. Der Block in geschweiften Klammern gehört nicht mehr dazu, deshalb wird er jedes Mal ausgeführt, auch bei 10 Grad. Auch nach der schließenden } setzt du kein Semikolon.
So schreibst du es:
Anweisungen
- 1
Schreibe unter der Variablen eine
if-Anweisung mit der BedingungmonitorPreis < 400. Gib in ihrem BlockIch kaufe den Monitoraus. - 2
Schreibe darunter eine zweite
if-Anweisung mit der BedingungmonitorPreis > 400, dieEr ist zu teuerausgibt. Führe das Programm aus: Es gibt trotzdem nurIch kaufe den Monitoraus, weil 300 nicht größer als 400 ist und der zweite Block deshalb übersprungen wird.