9.6 KiB
Noțiuni de bază JavaScript: Luarea deciziilor
Sketchnote de Tomomi Imura
Test înainte de lecție
Luarea deciziilor și controlul ordinii în care codul tău rulează fac codul reutilizabil și robust. Această secțiune acoperă sintaxa pentru controlul fluxului de date în JavaScript și importanța sa atunci când este utilizată cu tipurile de date Boolean.
🎥 Fă clic pe imaginea de mai sus pentru un videoclip despre luarea deciziilor.
Poți parcurge această lecție pe Microsoft Learn!
O recapitulare rapidă despre Booleans
Booleans pot avea doar două valori: true
sau false
. Booleans ajută la luarea deciziilor despre ce linii de cod ar trebui să ruleze atunci când anumite condiții sunt îndeplinite.
Setează un boolean să fie true sau false astfel:
let myTrueBool = true
let myFalseBool = false
✅ Booleans sunt numite după matematicianul, filosoful și logicianul englez George Boole (1815–1864).
Operatori de comparație și Booleans
Operatorii sunt utilizați pentru a evalua condiții prin realizarea de comparații care vor genera o valoare Boolean. Mai jos este o listă de operatori frecvent utilizați.
Simbol | Descriere | Exemplu |
---|---|---|
< |
Mai mic decât: Compară două valori și returnează tipul de date Boolean true dacă valoarea din partea stângă este mai mică decât cea din dreapta |
5 < 6 // true |
<= |
Mai mic sau egal cu: Compară două valori și returnează tipul de date Boolean true dacă valoarea din partea stângă este mai mică sau egală cu cea din dreapta |
5 <= 6 // true |
> |
Mai mare decât: Compară două valori și returnează tipul de date Boolean true dacă valoarea din partea stângă este mai mare decât cea din dreapta |
5 > 6 // false |
>= |
Mai mare sau egal cu: Compară două valori și returnează tipul de date Boolean true dacă valoarea din partea stângă este mai mare sau egală cu cea din dreapta |
5 >= 6 // false |
=== |
Egalitate strictă: Compară două valori și returnează tipul de date Boolean true dacă valorile din dreapta și stânga sunt egale ȘI sunt de același tip de date |
5 === 6 // false |
!== |
Inegalitate: Compară două valori și returnează valoarea Boolean opusă celei pe care ar returna-o operatorul de egalitate strictă | 5 !== 6 // true |
✅ Verifică-ți cunoștințele scriind câteva comparații în consola browserului tău. Te surprinde vreun rezultat returnat?
Instrucțiunea If
Instrucțiunea if va rula codul dintre blocurile sale dacă condiția este adevărată.
if (condition) {
//Condition is true. Code in this block will run.
}
Operatorii logici sunt adesea utilizați pentru a forma condiția.
let currentMoney;
let laptopPrice;
if (currentMoney >= laptopPrice) {
//Condition is true. Code in this block will run.
console.log("Getting a new laptop!");
}
Instrucțiunea If..Else
Instrucțiunea else
va rula codul dintre blocurile sale atunci când condiția este falsă. Este opțională cu o instrucțiune if
.
let currentMoney;
let laptopPrice;
if (currentMoney >= laptopPrice) {
//Condition is true. Code in this block will run.
console.log("Getting a new laptop!");
} else {
//Condition is false. Code in this block will run.
console.log("Can't afford a new laptop, yet!");
}
✅ Testează-ți înțelegerea acestui cod și a codului următor rulându-l în consola browserului. Schimbă valorile variabilelor currentMoney și laptopPrice pentru a modifica rezultatul console.log()
.
Instrucțiunea Switch
Instrucțiunea switch
este utilizată pentru a efectua acțiuni diferite pe baza unor condiții diferite. Folosește instrucțiunea switch
pentru a selecta unul dintre mai multe blocuri de cod care urmează să fie executate.
switch (expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
// program using switch statement
let a = 2;
switch (a) {
case 1:
a = "one";
break;
case 2:
a = "two";
break;
default:
a = "not found";
break;
}
console.log(`The value is ${a}`);
✅ Testează-ți înțelegerea acestui cod și a codului următor rulându-l în consola browserului. Schimbă valorile variabilei a pentru a modifica rezultatul console.log()
.
Operatori logici și Booleans
Deciziile pot necesita mai mult de o comparație și pot fi legate între ele cu operatori logici pentru a produce o valoare Boolean.
Simbol | Descriere | Exemplu |
---|---|---|
&& |
Logic AND: Compară două expresii Boolean. Returnează true doar dacă ambele părți sunt true | (5 > 6) && (5 < 6 ) //O parte este falsă, cealaltă este adevărată. Returnează false |
|| |
Logic OR: Compară două expresii Boolean. Returnează true dacă cel puțin o parte este true | (5 > 6) || (5 < 6) //O parte este falsă, cealaltă este adevărată. Returnează true |
! |
Logic NOT: Returnează valoarea opusă unei expresii Boolean | !(5 > 6) // 5 nu este mai mare decât 6, dar "!" va returna true |
Condiții și decizii cu operatori logici
Operatorii logici pot fi utilizați pentru a forma condiții în instrucțiuni if..else.
let currentMoney;
let laptopPrice;
let laptopDiscountPrice = laptopPrice - laptopPrice * 0.2; //Laptop price at 20 percent off
if (currentMoney >= laptopPrice || currentMoney >= laptopDiscountPrice) {
//Condition is true. Code in this block will run.
console.log("Getting a new laptop!");
} else {
//Condition is true. Code in this block will run.
console.log("Can't afford a new laptop, yet!");
}
Operatorul de negație
Până acum ai văzut cum poți folosi o instrucțiune if...else
pentru a crea logică condițională. Orice intră într-un if
trebuie să evalueze la true/false. Prin utilizarea operatorului !
poți nega expresia. Ar arăta astfel:
if (!condition) {
// runs if condition is false
} else {
// runs if condition is true
}
Expresii ternare
if...else
nu este singura modalitate de a exprima logica decizională. Poți folosi și ceva numit operator ternar. Sintaxa arată astfel:
let variable = condition ? <return this if true> : <return this if false>
Mai jos este un exemplu mai concret:
let firstNumber = 20;
let secondNumber = 10;
let biggestNumber = firstNumber > secondNumber ? firstNumber : secondNumber;
✅ Ia un minut să citești acest cod de câteva ori. Înțelegi cum funcționează acești operatori?
Codul de mai sus afirmă că:
- dacă
firstNumber
este mai mare decâtsecondNumber
- atunci atribuie
firstNumber
luibiggestNumber
- altfel atribuie
secondNumber
.
Expresia ternară este doar o modalitate compactă de a scrie codul de mai jos:
let biggestNumber;
if (firstNumber > secondNumber) {
biggestNumber = firstNumber;
} else {
biggestNumber = secondNumber;
}
🚀 Provocare
Creează un program care este scris mai întâi cu operatori logici, apoi rescrie-l folosind o expresie ternară. Care este sintaxa ta preferată?
Test după lecție
Recapitulare și studiu individual
Citește mai multe despre numeroșii operatori disponibili utilizatorului pe MDN.
Parcurge minunatul lookup de operatori al lui Josh Comeau!
Temă
Declinarea responsabilității:
Acest document a fost tradus utilizând serviciul de traducere AI Co-op Translator. Deși depunem eforturi pentru a asigura acuratețea, vă rugăm să aveți în vedere că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea realizată de un profesionist uman. Nu ne asumăm răspunderea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri.