Operatorul Ternar JavaScript ca o comandă rapidă pentru declarațiile If / Else

Operatorul ternar condiționat în JavaScript atribuie o valoare unei variabile bazate pe o anumită condiție și este singurul operator JavaScript care ia trei operanțe.

Operatorul ternar este un substitut pentru un dacă declarație în care atât dacă și altfel clauzele atribuie valori diferite aceluiași câmp, ca atare:

daca (conditie)
rezultat = 'ceva';
altfel
rezultat = "ceva";

Operatorul ternar scurtează această afirmație if / else într-o singură declarație:

rezultat = (condiție)? "ceva": "ceva"; 

Dacă condiție este adevărat, operatorul ternar returnează valoarea primei expresii; în caz contrar, returnează valoarea celei de-a doua expresii. Să luăm în considerare părțile sale:

  • Mai întâi, creați variabila căreia doriți să o atribuiți o valoare, în acest caz, rezultat. Variabila rezultat va avea o valoare diferită în funcție de condiție.
  • Rețineți că pe partea dreaptă (adică operatorul în sine), condiție este primul.
  • condiție este întotdeauna urmată de un semn de întrebare (?), care poate fi citit practic ca „a fost adevărat?”
  • instagram viewer
  • Cele două rezultate posibile rămân ultimele, separate printr-un punct (:).

Această utilizare a operator ternar este disponibil numai când originalul dacă declarația urmează formatul prezentat mai sus - dar acesta este un scenariu destul de comun, iar utilizarea operatorului ternar poate fi mult mai eficientă.

Exemplu de operator ternar

Să ne uităm la un exemplu real.

Poate că trebuie să stabilești care copii sunt vârsta potrivită pentru a participa la grădiniță. S-ar putea să aveți o afirmație condiționată ca aceasta:

vârsta var = 7;
var grădiniță_eligibilă;
if (vârsta> 5) {
kindergarten_eligible = "Destul de vârstă";
}
altfel {
kindergarten_eligible = "Prea tânăr";
}

Folosind operatorul ternar, puteți scurta expresia la:

var kindergarten_eligible = (vârsta <5)? „Prea tânăr”: „Destul de bătrân”;

Acest exemplu ar întoarce, desigur, „destul de vechi”.

Evaluări multiple

Puteți include mai multe evaluări:

var age = 7, var social_ready = true;
var kindergarten_eligible = (vârsta <5)? „Prea tânăr”: social_ deja
„Destul de bătrân, dar încă nu este gata” „Vechi și suficient de matur social”
console.log (grădiniță_eligibilă); // bușteni „Destul de maturi din punct de vedere social”

Operații multiple

Operatorul ternar permite, de asemenea, includerea mai multor operații pentru fiecare expresie, separate prin virgulă:

var age = 7, social_ready = true;
varsta> 5 ani? (
alertă („Ești destul de bătrân”),
location.assign ( "continue.html")
): (
social_ready = false,
alert ("Ne pare rău, dar nu sunteți încă pregătit.")
);

Implicații ale operatorului ternar

Operatorii ternari evită altfel verbose cod, pe de o parte, acestea sunt de dorit. Pe de altă parte, pot compromite lizibilitatea - în mod evident, „Dacă ELSE” este mai ușor de înțeles decât o criptică ”?”.

Când utilizați un operator ternar - sau orice prescurtare - luați în considerare cine vă va citi codul. Dacă dezvoltatorii cu mai puțină experiență ar putea avea nevoie să înțeleagă logica programului dvs., poate evita utilizarea operatorului ternar. Acest lucru este valabil mai ales dacă starea și evaluările dvs. sunt suficient de complexe încât să aveți nevoie pentru a cuibă sau a face lanțul operatorului ternar. De fapt, aceste tipuri de operatori cuiburi pot avea impact nu numai pe lizibilitate, ci și pe depanare.

Ca în orice decizie de programare, asigurați-vă că luați în considerare contextul și capacitatea de utilizare înainte de a utiliza un operator ternar.