Lär dig datavetenskap med JavaScript Del 2, Conditionals

Introduktion

I del en av denna serie skrevs våra program bara som en följd av uttalanden. Denna struktur begränsar allvarligt vad vi kan göra. Säg att du utformar ett program som behöver logga in användare. Du kanske vill rikta en användare till en sida om de ger rätt uppgifter och skickar dem till en annan om de inte är registrerade. 

För att göra detta måste du använda en beslutsstruktur som ett if-uttalande. Detta kommer endast att utföra en åtgärd under vissa förutsättningar. Om villkoret inte existerar, utförs åtgärden inte. I den här handledningen lär du dig information om conditionals.

Innehåll

  • Om uttalanden
  • Relationella operatörer
  • Om-annat uttalande
  • Växla uttalanden
  • Logiska operatörer
  • Recension
  • Medel

Om uttalanden

Ett enda om uttalande kommer att utföra en åtgärd om ett villkor är sant. Om villkoret är felaktigt, kommer programmet att exekvera nästa uttalande som ligger utanför if-blocket. I följande exempel, om uttrycket det regnar() är sant, då ska vi putOnCoat () och putOnRainboots () sedan gå ut(). Om det regnar() är felaktigt, kommer programmet bara att utföras gå ut().

om (isRaining) putOnCoat (); putOnRainboots ();  gå ut();

Detta är den allmänna formen för att skriva ett if-uttalande:

om (villkor) uttalande; påstående; etc. 

De tillstånd är ett uttryck som har värdet true eller false. Ett uttryck som är sant eller falskt kallas ett booleskt uttryck. Booleska uttryck är gjorda med relationella operatörer. 

Relation Operators

En relationell operatör jämför två värden och bestämmer om förhållandet mellan dem är sant eller falskt. De kan användas för att skapa booleska uttryck för våra förhållanden. Här är en lista över relationsoperatörer med exempel:

Operatör Menande Exempel Menande
== jämlikhet x == y Är x lika med y?
===
strikt jämlikhet  x === y Är x lika med y i värde och typ?
!=
olikhet
x! = y
Är x inte lika med y?
!==
strikt ojämlikhet
x! == y
Är x inte lika med y i värde och typ?
> större än
x> y
Är x större än y?
< mindre än
x < y
Är x mindre än y?
> = större än eller lika med
x> = y
Är x större än eller lika med y?
<= mindre än eller lika med
x <= y
Är x mindre än eller lika med y?

Det är viktigt att notera skillnaden mellan likhetsoperatören == och den strikta jämställdhetsoperatören ===. Till exempel uttrycket 2 == "2" är sant. Men uttrycket 2 === "2" är falskt. I det andra exemplet är de två värdena olika datatyper, och det är därför uttrycket är falskt. Det är bästa praxis att använda === eller !==.

Följande exempel visar meddelandet "Du får en A".

låt klass = 93; om (betyg> = 90) console.log ("Du får ett A"); 

Uppgift

Vad är värdet av uttrycket 5> 3? 6! = "6"?

Om-andra uttalanden

Ett if-else-uttalande kommer att utföra ett block av uttalanden om dess villkor är sant, eller ett annat block om dess villkor är felaktigt. Följande exempel visar meddelandet "Giltigt användarnamn" eftersom villkoret är sant.

låt användarnamnet = "alberta"; om (användarnamn === "alberta") console.log ("giltigt användarnamn");  else console.log ("Felaktigt användarnamn. Försök igen."); 

Detta är den allmänna formen av ett if-else-uttalande:

om (villkor) uttalande; påstående; etc. else statement; påstående; etc. 

Uppgift

 Vad blir resultatet av detta program:

låt isLoggedIn = false; om (isLoggedIn) console.log ("Welcome");  else console.log ("Du är inte inloggad"); 

Det är också möjligt att kontrollera mer än ett tillstånd. Exempel:

låt num = 3; om (num === 1) console.log ("I");  annars om (num === 2) console.log ("II");  annars om (num === 3) console.log ("III");  annars om (num === 4) console.log ("IV");  annars om (num === 5) console.log ("V");  else console.log ("Ogiltig inmatning"); 

Detta är den allmänna formen för att skriva flera if-else-if-uttalanden:

om (villkor1) uttalande; påstående; etc. annars om (villkor2) uttalande; påstående; etc. else statement; påstående; etc. 

Växla uttalanden

En omkopplingsdeklaration används också för att villkorligt genomföra en del av ditt program. Följande exempel implementerar vår romerska talomvandlare som ett omkopplingsdeklaration:

låt num = 3; switch (num) case 1: console.log ("I"); ha sönder; fall 2: console.log ("II"); ha sönder; fall 3: console.log ("III"); ha sönder; fall 4: console.log ("IV"); ha sönder; fall 5: console.log ("V"); ha sönder; standard: console.log ("Ogiltig inmatning"); 

Det här är den allmänna formen av ett omkopplingsdeklaration:

växla (uttryck) case value1: statement; påstående; etc. brytning; fallvärde2: uttalande; påstående; etc. brytning; standard: uttalande; påstående; etc.  

Varje fall representerar ett värde som vårt uttryck kan ta. Endast koden av det fall som är sant kommer att utföras. Vi inkluderar ett raderingsdeklaration i slutet av kodblocket så att programmet avslutar omkopplingsdeklarationen och utför inte några andra fall. Standardfallet körs när ingen av de andra fallen är sanna.    

Uppgift 

Skriv ett omkopplingsdeklaration som visar veckodagen med ett nummer. Till exempel, 1 = söndag, 2 = måndag etc.

Logiska operatörer

Operatören && och eller operatören || Låt oss ansluta två booleska uttryck. Den ej operatören ! förnekar ett uttryck. För att illustrera hur logiska operatörer arbetar, ser vi på ett sanningstabell. En sanningstabell innehåller alla kombinationer av värden som används av operatörerna. jag använder P för att representera det vänstra uttrycket och Q för höger uttryck.  

&& sanningstabell:

P Q P && Q
Sann Sann Sann
Sann
falsk
falsk
falsk
Sann
falsk
falsk
falsk falsk

Vi läser bordet som går över varje rad. Den första raden berättar att när P är sant och Q är sant, P && Q är sant. Följande exempel tester om 82 är mellan 60 och 100 inklusive.

  • låt x = 82;
  • x> = 60 && x <= 100
  • P: x> = 60 är sant
  • Q: x <= 100 is true
  • P && Q: true && true

|| sanningstabell:

P Q P || Q
Sann
Sann
Sann
Sann
falsk
Sann
falsk
Sann Sann
falsk
falsk
falsk

Detta exempel testar om 82 ligger utanför intervallet 60-100:

  • låt x = 82;
  • x < 60 || x > 100
  • P: x < 60 is false
  • Q: x> 100 är falskt
  • P || Q: false || falsk

! sanningstabell:

P !P
Sann
falsk
falsk
Sann

Exempel:

  • x = 82
  • P: x> 0 är sant
  • !P: false

Uppgift

Fyll i tabellen med de saknade värdena.

P Q !P !Q !P &&! Q
!P || ! Q
Sann
Sann




Sann
falsk

falsk
Sann

falsk
falsk


Något som är användbart att veta om logiska operatörer är det om uttrycket på vänster sida av && Operatören är felaktig, uttrycket till höger kommer inte att kontrolleras eftersom hela uttalandet är felaktigt. Och om uttrycket på vänster sida av en || Operatören är sann, uttrycket till höger kommer inte att kontrolleras eftersom hela uttalandet är sant.

Recension

Ett program kan exekvera block av kod villkorat med booleska uttryck. Ett booleskt uttryck skrivs med relationsoperatörer. Logiska operatörer tillåter oss att kombinera booleska uttryck. 

En enda omklaring ger programmet en alternativ väg att ta om ett villkor är uppfyllt. Om-annat uttalanden ger en andra åtgärd om villkoret är felaktigt. Och om-annat-om uttalanden tillåter oss att testa flera villkor. Omkopplingsdeklarationer kan användas som ett alternativ till ett if-else-if-meddelande när du har flera villkor att testa. 

Därefter kommer vi i del 3 att diskutera loopar.

Medel

  • repl.it
  • ES6-specifikation
  • Du vet inte JS: ES6 och Beyond