Leer informatica met JavaScript deel 2, voorwaardelijke bepalingen

Invoering

In deel een van deze serie werden onze programma's alleen geschreven als een reeks uitspraken. Deze structuur beperkt ernstig wat we kunnen doen. Stel dat u een programma ontwerpt dat gebruikers moet aanmelden. U wilt misschien een gebruiker naar één pagina leiden als deze de juiste inloggegevens opgeeft en deze naar een andere pagina verzendt als deze niet zijn geregistreerd. 

Om dit te doen, moet je een beslissingsstructuur gebruiken zoals een if-statement. Hiermee wordt alleen onder bepaalde voorwaarden actie uitgevoerd. Als de voorwaarde niet bestaat, wordt de actie niet uitgevoerd. In deze tutorial leert u alles over conditionals.

Inhoud

  • Als verklaringen
  • Relationele operatoren
  • If-else verklaring
  • Wijzigingen wijzigen
  • Logische operatoren
  • Beoordeling
  • Middelen

Als verklaringen

Een enkele if-instructie voert een actie uit als een voorwaarde waar is. Als de voorwaarde onwaar is, voert het programma de volgende instructie uit die zich buiten het if-blok bevindt. In het volgende voorbeeld, als de uitdrukking het regent() is waar, dan zullen we dat doen putOnCoat () en putOnRainboots () dan naar buiten gaan(). Als het regent() is niet waar, het programma wordt alleen uitgevoerd naar buiten gaan().

if (isRaining) putOnCoat (); putOnRainboots ();  naar buiten gaan();

Dit is de algemene vorm voor het schrijven van een if-statement:

if (voorwaarde) statement; uitspraak; enz. 

De staat is een expressie die de waarde true of false heeft. Een uitdrukking die waar of onwaar is, wordt een booleaanse uitdrukking genoemd. Booleaanse expressies worden gemaakt met relationele operatoren. 

Relationele operators

Een relationele operator vergelijkt twee waarden en bepaalt of de relatie tussen beide waar of onwaar is. Ze kunnen worden gebruikt om booleaanse expressies te maken voor onze voorwaarden. Hier is een lijst met relationele operatoren met voorbeelden:

operator Betekenis Voorbeeld Betekenis
== gelijkheid x == y Is x gelijk aan y?
===
strikte gelijkheid  x === y Is x gelijk aan y in waarde en type?
!=
ongelijkheid
x! = y
Is x niet gelijk aan y?
!==
strenge ongelijkheid
x! == y
Is x niet gelijk aan y in waarde en type?
> groter dan
x> y
Is x groter dan y?
< minder dan
X < y
Is x minder dan y?
> = groter dan of gelijk aan
x> = y
Is x groter dan of gelijk aan y?
<= Minder dan of gelijk
X <= y
Is x kleiner dan of gelijk aan y?

Het is belangrijk om het verschil tussen de gelijkheidsoperator te noteren == en de strikte gelijkheidsoperator ===. Bijvoorbeeld de uitdrukking 2 == "2" is waar. Maar de uitdrukking 2 === "2" is fout. In het tweede voorbeeld zijn de twee waarden verschillende gegevenstypen en daarom is de uitdrukking false. Het is de beste methode om te gebruiken === of !==.

In het volgende voorbeeld wordt het bericht "U krijgt een A" weergegeven.

laat cijfer = 93; if (grade> = 90) console.log ("U krijgt een A"); 

Taak

Wat is de waarde van de expressie 5> 3? 6! = "6"?

Als-anders verklaringen

Een if-else-instructie voert een blok met instructies uit als de voorwaarde waar is, of een ander blok als de voorwaarde onjuist is. In het volgende voorbeeld wordt het bericht "geldige gebruikersnaam" weergegeven omdat de voorwaarde waar is.

laat gebruikersnaam = "alberta"; if (gebruikersnaam === "alberta") console.log ("geldige gebruikersnaam");  else console.log ("Onjuiste gebruikersnaam. Probeer het opnieuw."); 

Dit is de algemene vorm van een if-else-statement:

if (voorwaarde) statement; uitspraak; etc. else statement; uitspraak; enz. 

Taak

 Wat zal de output van dit programma zijn:

laat isLoggedIn = false; if (isLoggedIn) console.log ("Welkom");  else console.log ("U bent niet ingelogd"); 

Het is ook mogelijk om te controleren op meer dan één voorwaarde. Voorbeeld:

laat 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 ("Ongeldige invoer"); 

Dit is het algemene formulier voor het schrijven van meerdere if-else-if-instructies:

if (voorwaarde1) statement; uitspraak; etc. else if (condition2) statement; uitspraak; etc. else statement; uitspraak; enz. 

Wijzigingen wijzigen

Een switch-instructie wordt ook gebruikt om een ​​deel van uw programma voorwaardelijk uit te voeren. In het volgende voorbeeld wordt onze Romeinse cijferomzetter als schakelinstructie geïmplementeerd:

laat num = 3; switch (num) case 1: console.log ("I"); breken; geval 2: console.log ("II"); breken; case 3: console.log ("III"); breken; case 4: console.log ("IV"); breken; geval 5: console.log ("V"); breken; standaard: console.log ("Ongeldige invoer"); 

Dit is de algemene vorm van een switch-statement:

switch (expressie) case value1: statement; uitspraak; etc. breken; case value2: statement; uitspraak; etc. breken; standaard: statement; uitspraak; enz.  

Elk geval vertegenwoordigt een waarde die onze uitdrukking kan aannemen. Alleen het codeblok voor het geval dat waar is zal worden uitgevoerd. We voegen een break-statement toe aan het einde van het codeblok, zodat het programma de switch-instructie afsluit en geen andere cases uitvoert. Het standaardgeval wordt uitgevoerd als geen van de andere gevallen waar is.    

Taak 

Schrijf een switch-instructie die de dag van de week weergeeft met een cijfer. Bijvoorbeeld 1 = zondag, 2 = maandag, enz.

Logische operators

De en -operator && en de of-operator || sta ons toe om twee booleaanse uitdrukkingen te verbinden. De niet-operator ! maakt een uitdrukking teniet. Om te illustreren hoe logische operatoren werken, zullen we naar een waarheidstabel kijken. Een waarheidstabel bevat alle combinaties van waarden die met de operatoren worden gebruikt. ik gebruik P om de expressie van de linkerhand en Q voor de expressie van de rechterhand.  

&& waarheidstabel:

P Q P && Q
waar waar waar
waar
vals
vals
vals
waar
vals
vals
vals vals

We lezen de tabel die over elke rij gaat. De eerste rij vertelt ons dat wanneer P is waar en Q is waar, P && Q is waar. In het volgende voorbeeld wordt getest of 82 tussen 60 en 100 ligt.

  • laat x = 82;
  • x> = 60 && x <= 100
  • P: x> = 60 is waar
  • Vraag: x <= 100 is true
  • P && Q: true && true

|| waarheidstabel:

P Q P || Q
waar
waar
waar
waar
vals
waar
vals
waar waar
vals
vals
vals

In dit voorbeeld wordt getest of 82 buiten het bereik 60-100 valt:

  • laat x = 82;
  • X < 60 || x > 100
  • P: x < 60 is false
  • Vraag: x> 100 is niet waar
  • P || Q: false || vals

! waarheidstabel:

P !P
waar
vals
vals
waar

Voorbeeld:

  • x = 82
  • P: x> 0 is waar
  • !P: false

Taak

Vul de tabel in met de ontbrekende waarden.

P Q !P !Q !P &&! Q
!P || ! Q
waar
waar




waar
vals

vals
waar

vals
vals


Iets nuttigs te weten over logische operatoren is dat als de uitdrukking aan de linkerkant van de && operator is false, de uitdrukking aan de rechterkant wordt niet gecontroleerd omdat de hele instructie false is. En als de uitdrukking aan de linkerkant van een || operator is waar, de uitdrukking aan de rechterkant wordt niet gecontroleerd omdat de hele instructie waar is.

Beoordeling

Een programma kan blokken code voorwaardelijk uitvoeren met behulp van Booleaanse uitdrukkingen. Een Booleaanse uitdrukking wordt geschreven met behulp van relationele operatoren. Logische operatoren stellen ons in staat Booleaanse expressies te combineren. 

Een enkele if-instructie geeft het programma een alternatief pad om te nemen als aan een voorwaarde is voldaan. If-else-instructies bieden een tweede actie als de voorwaarde onwaar is. En if-else-if-statements stellen ons in staat om meerdere voorwaarden te testen. Schakelinstructies kunnen worden gebruikt als een alternatief voor een if-else-if-instructie als u meerdere voorwaarden hebt om te testen. 

Vervolgens zullen we in deel 3 loops bespreken.

Middelen

  • repl.it
  • ES6-specificatie
  • You Do not Know JS: ES6 and Beyond