Logische Operatoren: Und
Manchmal reicht eine Bedingung nicht. „Wenn Freitag ist und es wärmer als 20 °C ist, gehe ich aus“ besteht aus zwei Bedingungen, die das Wort „und“ verbindet. In JavaScript schreibt man „und“ als &&:
const tag = "Freitag";
const temperatur = 25;
if (tag === "Freitag" && temperatur > 20) {
console.log("Ich gehe aus");
}Das gibt Folgendes aus:
Ich gehe aus&& ist ein logischer Operator: Er verbindet zwei Bedingungen zu einer. Die verbundene Bedingung ist nur wahr, wenn beide Teile wahr sind. Ist auch nur einer falsch, ist die ganze Bedingung falsch:
true && trueisttruetrue && falseistfalsefalse && trueistfalsefalse && falseistfalse
Du kannst auch mehr Bedingungen hintereinander verbinden: a && b && c ist nur wahr, wenn alle drei wahr sind.
Jeder Teil muss ein vollständiger Vergleich sein. „Alter von 13 bis 19“ ist alter >= 13 && alter <= 19. Schreibst du alter >= 13 && <= 19, endet das Programm mit SyntaxError: Unexpected token '<='. Und 13 <= alter <= 19 wie in der Mathematik läuft ohne Fehler, liefert aber falsche Ergebnisse (es ist auch bei einem Alter von 25 wahr), weil JavaScript immer nur zwei Werte auf einmal vergleicht.
So schreibst du es:
Anweisungen
- 1
Schreibe eine
if-Anweisung, dieWillkommennur ausgibt, wennbenutzernamegleich"admin"und gleichzeitigpasswortgleich"katze42"ist. Verbinde die beiden Vergleiche mit&&. - 2
Füge einen
else-Zweig hinzu, derFalscher Benutzername oder falsches Passwortausgibt. Probiere dann ein falsches Passwort aus: Änderepasswortauf"katze". Ein falscher Teil genügt, damit die ganze Bedingung falsch ist, also gibt das ProgrammFalscher Benutzername oder falsches Passwortaus.