Logische Operatoren: Oder
Der zweite logische Operator ist || und bedeutet „oder“. „Wenn Samstag oder Sonntag ist, ist Wochenende“:
const tag = "Sonntag";
if (tag === "Samstag" || tag === "Sonntag") {
console.log("Es ist Wochenende");
}Das gibt Folgendes aus:
Es ist WochenendeEine mit || verbundene Bedingung ist wahr, wenn mindestens einer ihrer Teile wahr ist. Sie ist nur falsch, wenn alle Teile falsch sind:
true || trueisttruetrue || falseisttruefalse || trueisttruefalse || falseistfalse
Ein typischer Fehler ist, die Bedingung so abzukürzen, wie wir sprechen: tag === "Samstag" || "Sonntag". JavaScript nimmt den rechten Teil für sich: Er ist nur der Text "Sonntag", kein Vergleich. Text, der nicht leer ist, zählt als wahr, also ist die ganze Bedingung immer wahr, sogar an einem Montag. Jeder Teil braucht seinen eigenen Vergleich: tag === "Samstag" || tag === "Sonntag".
Du kannst && und || in einer Bedingung verwenden. So wie Multiplikation vor Addition geht, geht && vor ||. Fasse mit Klammern zusammen, was zusammengehört, wie in der Mathematik:
const tag = "Samstag";
const temperatur = 15;
if ((tag === "Samstag" || tag === "Sonntag") && temperatur > 20) {
console.log("Lass uns einen Ausflug machen");
} else {
console.log("Lass uns zu Hause bleiben");
}Das gibt Folgendes aus:
Lass uns zu Hause bleibenDer Teil in Klammern wird zuerst ausgewertet: Es ist Samstag, also ist er wahr. Aber temperatur > 20 ist falsch, und true && false ist falsch. Ohne die Klammern würde JavaScript zuerst tag === "Sonntag" && temperatur > 20 verbinden, und die Bedingung wäre an jedem Samstag wahr, egal bei welchem Wetter.
So schreibst du es:
Anweisungen
- 1
Ein Kino gibt Studenten und Menschen ab 65 Jahren Ermäßigung. Schreibe eine
if-Anweisung, dieErmäßigungausgibt, wennistStudentwahr ist oderaltermindestens65beträgt. Verwende||. - 2
Neue Regel: Ermäßigung gibt es nur mittwochs. Füge am Ende der Bedingung
&& tag === "Mittwoch"hinzu, setze Klammern um den||-Teil und füge einenelse-Zweig hinzu, derVoller Preisausgibt. Heute ist Montag, also gibt das ProgrammVoller Preisaus.