Aflați informatică cu JavaScript Partea 2, Condiții

Introducere

În prima parte a acestei serii, programele noastre au fost scrise doar ca o serie de afirmații. Această structură limitează sever ceea ce putem face. Spuneți că proiectați un program care trebuie să vă conectați la utilizatori. S-ar putea să doriți să direcționați un utilizator la o pagină dacă aceștia dau acreditările corecte și le trimit altora dacă nu sunt înregistrați. 

Pentru a face acest lucru, trebuie să utilizați o structură de decizie ca o declarație if. Aceasta va efectua o acțiune numai în anumite condiții. Dacă condiția nu există, acțiunea nu este efectuată. În acest tutorial, veți afla totul despre condiționalități.

Cuprins

  • În cazul declarațiilor
  • Operatori relatari
  • Dacă-altceva declarație
  • Comutați declarații
  • Operatori logici
  • Revizuire
  • Resurse

Dacă declarații

O singură instrucțiune if va efectua o acțiune dacă o condiție este adevărată. Dacă condiția este falsă, programul va executa următoarea instrucțiune aflată în afara blocului if. În următorul exemplu, dacă expresia ploua() este adevărat, atunci vom face putOnCoat () și putOnRainboots () atunci du-te afara(). Dacă ploua() este falsă, programul va executa numai du-te afara().

dacă (isRaining) putOnCoat (); putOnRainboots ();  du-te afara();

Aceasta este forma generală pentru scrierea unei instrucțiuni if:

dacă (condiție) declarație; afirmație; etc

condiție este o expresie care are valoarea adevărată sau falsă. O expresie care este adevărată sau falsă se numește expresie booleană. Explicațiile booleene se fac cu operatorii relaționali. 

Operatori relatari

Un operator relațional compară două valori și stabilește dacă relația dintre acestea este adevărată sau falsă. Ele pot fi folosite pentru a crea expresii booleene pentru condițiile noastre. Iată o listă de operatori relaționali cu exemple:

Operator Sens Exemplu Sens
== egalitate x == y Este x egal cu y?
===
egalitate strictă  x === y Este x egal cu y în valoare și tip?
!=
inegalitate
x! = y
X nu este egal cu y?
!==
inegalitate strictă
x! == y
X nu este egal cu y în valoare și tip?
> mai mare ca
x> y
Este x mai mare decât y?
< mai puțin decât
X < y
Este mai mică decât y?
> = mai mare sau egal
x> = y
Este mai mare sau egală cu y?
<= mai puțin sau egal
X <= y
Este mai mică sau egală cu y?

Este important să observăm diferența dintre operatorul de egalitate == și operatorul strict de egalitate ===. De exemplu, expresia 2 == "2" este adevarat. Dar expresia 2 === "2" este falsă. În cel de-al doilea exemplu, cele două valori sunt tipuri de date diferite și de aceea expresia este falsă. Este cea mai bună practică de a utiliza === sau !==.

Următorul exemplu va afișa mesajul "Ai un A".

permiteți gradului = 93; dacă (grad> = 90) console.log ("Ai un A"); 

Sarcină

Care este valoarea expresiei 5> 3? 6! = "6"?

Dacă-Else Declarații

O instrucțiune if-else va executa un bloc de instrucțiuni dacă condiția sa este adevărată sau alt bloc dacă condiția sa este falsă. Următorul exemplu va afișa mesajul "nume de utilizator valabil" deoarece condiția este adevărată.

permiteți username = "alberta"; dacă (username === "alberta") console.log ("nume de utilizator valabil");  altceva console.log ("Nume de utilizator incorect; încercați din nou."); 

Aceasta este forma generală a unei instrucțiuni if-else:

dacă (condiție) declarație; afirmație; etc altceva declarație; afirmație; etc

Sarcină

 Care va fi rezultatul acestui program:

letLoggedIn = false; dacă (isLoggedIn) console.log ("Bun venit");  altceva console.log ("Nu sunteți autentificat"); 

Este, de asemenea, posibil să verificați mai mult de o condiție. Exemplu:

da num = 3; dacă (num === 1) console.log ("I");  altfel dacă (num === 2) console.log ("II");  altfel dacă (num === 3) console.log ("III");  altfel dacă (num === 4) console.log ("IV");  altfel dacă (num === 5) console.log ("V");  altceva console.log ("Intrare nevalidă"); 

Aceasta este forma generală pentru scrierea mai multor declarații if-else-if:

dacă (condiția1) declarație; afirmație; etc altfel dacă (condiția2) declarație; afirmație; etc altceva declarație; afirmație; etc

Declarații de comutare

O instrucțiune de comutare este de asemenea folosită pentru a executa în mod condiționat o parte a programului. Următorul exemplu implementează convertorul nostru numeric roman ca o declarație de comutare:

da num = 3; comut (num) caz 1: console.log ("I"); pauză; Cazul 2: console.log ("II"); pauză; cazul 3: console.log ("III"); pauză; cazul 4: console.log ("IV"); pauză; cazul 5: console.log ("V"); pauză; implicit: console.log ("Intrare nevalidă"); 

Aceasta este forma generală a unei instrucțiuni de comutare:

comutator (expresie) caz 1 valoare: declarație; afirmație; etc pauză; cazul 2 valoare: declarație; afirmație; etc pauză; implicit: declarație; afirmație; etc 

Fiecare caz reprezintă o valoare pe care expresia noastră o poate lua. Numai blocul de cod pentru cazul care este adevărat va executa. Includeți o declarație de pauză la sfârșitul blocului de cod, astfel încât programul să părăsească instrucțiunea de comutare și să nu execute alte cazuri. Cazul implicit se execută atunci când nici unul dintre celelalte cazuri nu este adevărat.    

Sarcină 

Scrieți o declarație de comutare care afișează ziua săptămânii dată unui număr. De exemplu, 1 = Duminică, 2 = Luni, etc.

Operatori logici

Operatorul și operatorul && și operatorul sau || ne permite să conectăm două expresii booleene. Operatorul nu ! respinge o expresie. Pentru a ilustra modul în care funcționează operatorii logici, vom examina o tabelă de adevăr. Un tabel de adevăr cuprinde toate combinațiile de valori utilizate cu operatorii. eu folosesc P pentru a reprezenta expresia stânga și Q pentru expresia dreaptă.  

&& tabelul cu adevărat:

P Q P && Q
Adevărat Adevărat Adevărat
Adevărat
fals
fals
fals
Adevărat
fals
fals
fals fals

Citeam tabela care mergea peste fiecare rând. Primul rând ne spune că atunci când P este adevărat și Q este adevarat, P && Q este adevarat. Exemplul de mai jos testează dacă 82 este cuprins între 60 și 100 inclusiv.

  • x = 82;
  • x> = 60 && x <= 100
  • P: x> = 60 este adevărat
  • Î: x <= 100 is true
  • P && Q: true & & true

|| tabelul cu adevărat:

P Q P || Q
Adevărat
Adevărat
Adevărat
Adevărat
fals
Adevărat
fals
Adevărat Adevărat
fals
fals
fals

Acest exemplu testează dacă 82 este în afara intervalului 60-100:

  • x = 82;
  • X < 60 || x > 100
  • P: x < 60 is false
  • Î: x> 100 este falsă
  • P || Î: false || fals

! tabelul cu adevărat:

P !P
Adevărat
fals
fals
Adevărat

Exemplu:

  • x = 82
  • P: x> 0 este adevărat
  • !P: falsă

Sarcină

Completați tabelul cu valorile lipsă.

P Q !P !Q !P &&! Q
!P || ! Q
Adevărat
Adevărat




Adevărat
fals

fals
Adevărat

fals
fals


Ceva util pentru a ști despre operatorii logici este că dacă expresia din partea stângă a lui && operatorul este fals, expresia din dreapta nu va fi verificată deoarece întreaga declarație este falsă. Și dacă expresia din partea stângă a unui || operatorul este adevărat, expresia din dreapta nu va fi verificată deoarece întreaga instrucțiune este adevărată.

Revizuire

Un program poate executa blocuri de cod condiționat folosind expresii booleene. O expresie booleană este scrisă folosind operatorii relaționali. Operatorii logici ne permit să combinăm expresii booleene. 

O singură instrucțiune if dă programului o cale alternativă de urmat dacă o condiție este îndeplinită. Dacă instrucțiunile altceva furnizează un al doilea mod de acțiune dacă condiția este falsă. Și dacă-altceva dacă afirmațiile ne permit să testarea mai multor condiții. Comenzile de comutare pot fi folosite ca o alternativă la o instrucțiune if-else-if atunci când aveți mai multe condiții de testat. 

În continuare, în partea a 3-a, vom discuta despre bucle.

Resurse

  • repl.it
  • Specificația ES6
  • Nu știți JS: ES6 și Dincolo
Cod