Lær datavitenskap med JavaScript Del 2, Conditionals

Introduksjon

I en del av denne serien ble våre programmer kun skrevet som en sekvens av uttalelser. Denne strukturen begrenser det vi kan gjøre. Si at du utformer et program som må logge på brukere. Du vil kanskje rette en bruker til en side hvis de gir riktig legitimasjon og sende dem til en annen hvis de ikke er registrert. 

For å gjøre dette må du bruke en beslutningsstruktur som en if-setning. Dette vil bare utføre en handling under visse forhold. Hvis tilstanden ikke eksisterer, utføres ikke handlingen. I denne opplæringen lærer du alt om betingelse.

innhold

  • Hvis uttalelser
  • Relasjonsoperatører
  • If-else uttalelse
  • Bytt utsagn
  • Logiske operatører
  • Anmeldelse
  • ressurser

Hvis erklæringer

En enkelt hvis setning vil utføre en handling hvis en tilstand er sant. Hvis tilstanden er feil, vil programmet utføre neste setning som ligger utenfor omblokken. I det følgende eksempelet, hvis uttrykket regner() er sant, da vil vi putOnCoat () og putOnRainboots () deretter gå utenfor(). Hvis regner() er feil, vil programmet bare utføres gå utenfor().

hvis (erRaining) putOnCoat (); putOnRainboots ();  gå utenfor();

Dette er den generelle formen for å skrive en if-setning:

hvis (tilstand) setning; uttalelse; etc. 

De tilstand er et uttrykk som har verdien sant eller falskt. Et uttrykk som er sant eller falskt kalles et boolesk uttrykk. Boolske uttrykk er laget med relasjonsoperatører. 

Relasjonsoperatører

En relasjonsoperatør sammenligner to verdier og bestemmer om forholdet mellom dem er sant eller falskt. De kan brukes til å skape boolske uttrykk for våre forhold. Her er en liste over relasjonsoperatører med eksempler:

Operatør Betydning Eksempel Betydning
== likestilling x == y Er x lik y?
===
streng likestilling  x === y Er x lik y i verdi og type?
!=
ulikhet
x! = y
Er x ikke lik y?
!==
streng ulikhet
x! == y
Er x ikke lik y i verdi og type?
> større enn
x> y
Er x større enn y?
< mindre enn
x < y
Er x mindre enn y?
> = større enn eller lik
x> = y
Er x større enn eller lik y?
<= mindre enn eller lik
x <= y
Er x mindre enn eller lik y?

Det er viktig å merke forskjellen mellom likestillingsoperatøren == og den strenge likestillingsoperatøren ===. For eksempel uttrykket 2 == "2" er sant. Men uttrykket 2 === "2" er falsk. I det andre eksemplet er de to verdiene forskjellige datatyper, og derfor er uttrykket falskt. Det er best å bruke === eller !==.

Følgende eksempel vil vise meldingen "Du får en A".

la karakter = 93; hvis (klasse> = 90) console.log ("Du får en A"); 

Oppgave

Hva er verdien av uttrykket 5> 3? 6! = "6"?

Hvis-andre uttalelser

En if-else-setning vil utføre en blokk med setninger hvis tilstanden er sant, eller en annen blokk hvis tilstanden er feil. Følgende eksempel vil vise meldingen "gyldig brukernavn" fordi betingelsen er sann.

la brukernavn = "alberta"; hvis (brukernavn === "alberta") console.log ("gyldig brukernavn");  else console.log ("Feil brukernavn. Prøv igjen."); 

Dette er den generelle formen for en if-else-setning:

hvis (tilstand) setning; uttalelse; etc. else statement; uttalelse; etc. 

Oppgave

 Hva blir resultatet av dette programmet:

la isLoggedIn = false; hvis (isLoggedIn) console.log ("Welcome");  else console.log ("Du er ikke logget inn"); 

Det er også mulig å se etter mer enn én tilstand. Eksempel:

la num = 3; hvis (num === 1) console.log ("I");  annet hvis (num === 2) console.log ("II");  annet hvis (num === 3) console.log ("III");  annet hvis (num === 4) console.log ("IV");  annet hvis (num === 5) console.log ("V");  else console.log ("Ugyldig innspilling"); 

Dette er den generelle formen for å skrive flere if-else-if-setninger:

hvis (betingelse1) setning; uttalelse; etc. else if (condition2) statement; uttalelse; etc. else statement; uttalelse; etc. 

Bytteerklæringer

En svarserklæring brukes også til betinget å utføre en del av programmet. Følgende eksempel implementerer vår romlige tallomformer som en bryteretning:

la num = 3; bytte (num) tilfelle 1: console.log ("I"); gå i stykker; tilfelle 2: console.log ("II"); gå i stykker; tilfelle 3: console.log ("III"); gå i stykker; tilfelle 4: console.log ("iv"); gå i stykker; sak 5: console.log ("V"); gå i stykker; standard: console.log ("Ugyldig inngang"); 

Dette er den generelle formen for en bryteretning:

bytte (uttrykk) tilfelle verdi1: setning; uttalelse; etc. pause; case value2: statement; uttalelse; etc. pause; standard: setning; uttalelse; etc.  

Hvert tilfelle representerer en verdi uttrykket kan ta. Bare koden av koden for saken som er sant, vil utføres. Vi inkluderer en pauseoppgave på slutten av kodeblokken slik at programmet avslutter bryteretningen og ikke utfører andre tilfeller. Standard saken utføres når ingen av de andre tilfellene er sanne.    

Oppgave 

Skriv en svarserklæring som viser ukedag gitt et nummer. For eksempel 1 = Søndag, 2 = Mandag, osv.

Logiske operatører

Operatøren && og eller operatøren || la oss koble to boolske uttrykk. Ikke-operatøren ! negerer et uttrykk. For å illustrere hvordan logiske operatører jobber, ser vi på et sannhetstabell. En sannhetstabell inneholder alle kombinasjonene av verdier som brukes med operatørene. jeg bruker P å representere det venstre uttrykket og Q for høyre uttrykk.  

&& sannhetstabell:

P Q P && Q
ekte ekte ekte
ekte
falsk
falsk
falsk
ekte
falsk
falsk
falsk falsk

Vi leser bordet som går over hver rad. Den første raden forteller oss at når P er sant og Q er sant, P && Q er sant. Følgende eksempel tester om 82 er mellom 60 og 100.

  • la x = 82;
  • x> = 60 && x <= 100
  • P: x> = 60 er sant
  • Q: x <= 100 is true
  • P && Q: true && true

|| sannhetstabell:

P Q P || Q
ekte
ekte
ekte
ekte
falsk
ekte
falsk
ekte ekte
falsk
falsk
falsk

Dette eksempelet tester hvis 82 er utenfor området 60-100:

  • la x = 82;
  • x < 60 || x > 100
  • P: x < 60 is false
  • Q: x> 100 er feil
  • P || Q: false || falsk

! sannhetstabell:

P !P
ekte
falsk
falsk
ekte

Eksempel:

  • x = 82
  • P: x> 0 er sant
  • !P: falsk

Oppgave

Fyll inn tabellen med de manglende verdiene.

P Q !P !Q !P &&! Q
!P || ! Q
ekte
ekte




ekte
falsk

falsk
ekte

falsk
falsk


Noe nyttig å vite om logiske operatører er at hvis uttrykket på venstre side av && Operatøren er feil, uttrykket til høyre vil ikke bli sjekket fordi hele setningen er feil. Og hvis uttrykket på venstre side av en || operatør er sant, vil uttrykket til høyre ikke bli sjekket fordi hele setningen er sant.

Anmeldelse

Et program kan utføre blokker med kode betinget ved bruk av boolske uttrykk. Et boolesk uttrykk er skrevet ved hjelp av relasjonsoperatører. Logiske operatører tillater oss å kombinere boolske uttrykk. 

En enkelt hvis setning gir programmet en alternativ vei å ta hvis en tilstand er oppfylt. Hvis-ellers uttalelser gir et annet tiltak hvis tilstanden er feil. Og om-annet-hvis uttalelser tillater oss å teste flere forhold. Switch-setninger kan brukes som et alternativ til en if-else-if-setning når du har flere betingelser for å teste. 

Neste, i del 3, vil vi diskutere sløyfer.

ressurser

  • repl.it
  • ES6 spesifikasjon
  • Du vet ikke JS: ES6 og Beyond