Lernen Sie Informatik mit JavaScript Teil 2, Bedingungen

Einführung

In Teil eins dieser Serie wurden unsere Programme nur als Folge von Anweisungen geschrieben. Diese Struktur schränkt unsere Möglichkeiten stark ein. Angenommen, Sie entwerfen ein Programm, das Benutzer anmelden muss. Sie können einen Benutzer auf eine Seite weiterleiten, wenn er die richtigen Anmeldeinformationen angibt, und ihn an eine andere senden, wenn er nicht registriert ist. 

Dazu müssen Sie eine Entscheidungsstruktur wie eine if-Anweisung verwenden. Dies führt nur unter bestimmten Bedingungen zu einer Aktion. Wenn die Bedingung nicht vorhanden ist, wird die Aktion nicht ausgeführt. In diesem Tutorial erfahren Sie alles über Bedingungen.

Inhalt

  • Wenn Aussagen
  • Beziehungsoperatoren
  • If-else-Anweisung
  • Anweisungen wechseln
  • Logische Operatoren
  • Rezension
  • Ressourcen

Wenn Aussagen

Eine einzelne if-Anweisung führt eine Aktion aus, wenn eine Bedingung erfüllt ist. Wenn die Bedingung falsch ist, führt das Programm die nächste Anweisung außerhalb des if-Blocks aus. Im folgenden Beispiel, wenn der Ausdruck regnet() ist wahr, dann werden wir putOnCoat () und putOnRainboots () dann geh nach draussen(). Ob regnet() ist false, wird das Programm nur ausgeführt geh nach draussen().

if (isRaining) putOnCoat (); putOnRainboots ();  geh nach draussen();

Dies ist das allgemeine Formular zum Schreiben einer if-Anweisung:

if (Bedingung) Anweisung; Aussage; usw. 

Das Bedingung ist ein Ausdruck, der den Wert true oder false hat. Ein Ausdruck, der wahr oder falsch ist, wird als boolescher Ausdruck bezeichnet. Boolesche Ausdrücke werden mit relationalen Operatoren erstellt. 

Beziehungsoperatoren

Ein Vergleichsoperator vergleicht zwei Werte und bestimmt, ob die Beziehung zwischen ihnen wahr oder falsch ist. Sie können verwendet werden, um boolesche Ausdrücke für unsere Bedingungen zu erstellen. Hier ist eine Liste von Vergleichsoperatoren mit Beispielen:

Operator Bedeutung Beispiel Bedeutung
== Gleichberechtigung x == y Ist x gleich y?
===
strikte Gleichheit  x === y Ist x gleich y in Wert und Typ?
!=
Ungleichheit
x! = y
Ist x nicht gleich y?
!==
strikte Ungleichheit
x! == y
Ist x nicht gleich y in Wert und Typ?
> größer als
x> y
Ist x größer als y?
< weniger als
x < y
Ist x kleiner als y?
> = größer als oder gleich
x> = y
Ist x größer als oder gleich y?
<= weniger als oder gleich
x <= y
Ist x kleiner oder gleich y?

Es ist wichtig, den Unterschied zwischen dem Gleichheitsoperator zu beachten == und der strikte Gleichheitsoperator ===. Zum Beispiel der Ausdruck 2 == "2" ist wahr. Aber der Ausdruck 2 === "2" ist falsch. Im zweiten Beispiel handelt es sich bei den beiden Werten um unterschiedliche Datentypen, weshalb der Ausdruck falsch ist. Es ist am besten zu verwenden === oder !==.

Im folgenden Beispiel wird die Meldung "Sie erhalten ein A" angezeigt..

sei grad = 93; if (grade> = 90) console.log ("Sie erhalten ein A"); 

Aufgabe

Welchen Wert hat der Ausdruck 5> 3? 6! = "6"?

If-Else-Anweisungen

Eine if-else-Anweisung führt einen Anweisungsblock aus, wenn die Bedingung wahr ist, oder einen anderen Block, wenn die Bedingung falsch ist. Im folgenden Beispiel wird die Meldung "gültiger Benutzername" angezeigt, da die Bedingung erfüllt ist.

let username = "alberta"; if (Benutzername === "alberta") console.log ("gültiger Benutzername");  else console.log ("Falscher Benutzername. Versuchen Sie es erneut."); 

Dies ist die allgemeine Form einer if-else-Anweisung:

if (Bedingung) Anweisung; Aussage; usw. else Anweisung; Aussage; usw. 

Aufgabe

 Was wird die Ausgabe dieses Programms sein:

let isLoggedIn = false; if (isLoggedIn) console.log ("Willkommen");  else console.log ("Sie sind nicht angemeldet"); 

Es ist auch möglich, auf mehr als eine Bedingung zu prüfen. Beispiel:

sei num = 3; if (num === 1) console.log ("I");  else if (num === 2) console.log ("II");  else if (num === 3) console.log ("III");  else if (num === 4) console.log ("IV");  else if (num === 5) console.log ("V");  else console.log ("Ungültige Eingabe"); 

Dies ist das allgemeine Formular zum Schreiben mehrerer if-else-if-Anweisungen:

if (Bedingung1) Anweisung; Aussage; usw. else if (Bedingung2) Anweisung; Aussage; usw. else Anweisung; Aussage; usw. 

Anweisungen wechseln

Eine switch-Anweisung wird auch verwendet, um einen Teil Ihres Programms bedingt auszuführen. Das folgende Beispiel implementiert unseren Konverter für römische Zahlen als switch-Anweisung:

sei num = 3; switch (num) Fall 1: console.log ("I"); brechen; Fall 2: console.log ("II"); brechen; Fall 3: console.log ("III"); brechen; Fall 4: console.log ("IV"); brechen; Fall 5: console.log ("V"); brechen; default: console.log ("Ungültige Eingabe"); 

Dies ist die allgemeine Form einer switch-Anweisung:

switch (Ausdruck) case value1: Anweisung; Aussage; usw. Pause; case value2: Anweisung; Aussage; usw. Pause; default: Anweisung; Aussage; usw.  

Jeder Fall stellt einen Wert dar, den unser Ausdruck annehmen kann. Nur der Codeblock für den Fall, der wahr ist, wird ausgeführt. Wir fügen eine break-Anweisung am Ende des Codeblocks ein, damit das Programm die switch-Anweisung beendet und keine anderen Fälle ausführt. Der Standardfall wird ausgeführt, wenn keiner der anderen Fälle zutrifft.    

Aufgabe 

Schreiben Sie eine switch-Anweisung, die den Wochentag angibt, für den eine Nummer angegeben wurde. Zum Beispiel 1 = Sonntag, 2 = Montag usw.

Logische Operatoren

Der und Operator && und der Operator oder || Lassen Sie uns zwei boolesche Ausdrücke verbinden. Der nicht Operator ! negiert einen Ausdruck. Um zu zeigen, wie logische Operatoren funktionieren, betrachten wir eine Wahrheitstabelle. Eine Wahrheitstabelle enthält alle Kombinationen von Werten, die mit den Operatoren verwendet werden. ich benutze P zur Darstellung des linken Ausdrucks und Q für den Ausdruck der rechten Hand.  

&& Wahrheitstabelle:

P Q P && Q
wahr wahr wahr
wahr
falsch
falsch
falsch
wahr
falsch
falsch
falsch falsch

Wir lesen die Tabelle in jeder Reihe. Die erste Reihe sagt uns, wann P ist wahr und Q ist wahr, P && Q ist wahr. Das folgende Beispiel testet, ob 82 zwischen 60 und einschließlich 100 ist.

  • sei x = 82;
  • x> = 60 && x <= 100
  • P: x> = 60 ist wahr
  • Q: x <= 100 is true
  • P && Q: wahr && wahr

|| Wahrheitstabelle:

P Q P || Q
wahr
wahr
wahr
wahr
falsch
wahr
falsch
wahr wahr
falsch
falsch
falsch

In diesem Beispiel wird getestet, ob 82 außerhalb des Bereichs 60-100 liegt:

  • sei x = 82;
  • x < 60 || x > 100
  • P: x < 60 is false
  • Q: x> 100 ist falsch
  • P || Q: falsch || falsch

! Wahrheitstabelle:

P !P
wahr
falsch
falsch
wahr

Beispiel:

  • x = 82
  • P: x> 0 ist wahr
  • !P: falsch

Aufgabe

Füllen Sie die Tabelle mit den fehlenden Werten aus.

P Q !P !Q !P &&! Q
!P || ! Q
wahr
wahr




wahr
falsch

falsch
wahr

falsch
falsch


Etwas Nützliches zu wissen über logische Operatoren ist, dass der Ausdruck auf der linken Seite von && Operator ist false, der Ausdruck auf der rechten Seite wird nicht geprüft, da die gesamte Anweisung false ist. Und wenn der Ausdruck auf der linken Seite eines || Wenn der Operator true ist, wird der Ausdruck rechts nicht geprüft, da die gesamte Anweisung true ist.

Rezension

Ein Programm kann Codeblöcke unter Verwendung von booleschen Ausdrücken bedingt ausführen. Ein boolescher Ausdruck wird mit relationalen Operatoren geschrieben. Logische Operatoren ermöglichen es uns, boolesche Ausdrücke zu kombinieren. 

Eine einzelne if-Anweisung gibt dem Programm einen alternativen Pfad, den es einnehmen kann, wenn eine Bedingung erfüllt ist. If-else-Anweisungen bieten eine zweite Vorgehensweise, wenn die Bedingung falsch ist. Mit if-else-if-Anweisungen können wir mehrere Bedingungen testen. Switch-Anweisungen können als Alternative zu einer if-else-if-Anweisung verwendet werden, wenn mehrere Bedingungen getestet werden müssen. 

Als nächstes werden wir in Teil 3 Schleifen diskutieren.

Ressourcen

  • repl.it
  • ES6-Spezifikation
  • Sie kennen JS: ES6 und darüber hinaus nicht