JavaScript dacă instrucțiunea efectuează o acțiune bazată pe o condiție, un scenariu comun în toate limbajele de programare dacă instrucțiunea testează un pic de date împotriva unei condiții și apoi specifică un cod care trebuie executat dacă condiția este adevărată, ca atare:
dacă condiție
executați acest cod
dacă declarația este aproape întotdeauna asociată cu altfel instrucțiune, deoarece de obicei, doriți să definiți un bit alternativ de cod de executat. Să luăm în considerare un exemplu:
if ('Ștefan' === nume)
message = "Bun venit înapoi Ștefan";
altfel
mesaj = "Bun venit" + nume;
Acest cod returnează „Bun venit înapoi Ștefan” dacă Nume este egal cu Ștefan; altfel, returnează „Bun venit” și apoi orice valoare a variabilei Nume conține.
JavaScript ne oferă o modalitate alternativă de a scrie un an dacă instrucțiune când atât condițiile adevărate, cât și cele false doar atribuie valori diferite aceleiași variabile.
Acest mod mai scurt omite cuvântul cheie dacă precum și bretelele din jurul blocurilor (care sunt opționale pentru enunțuri unice). De asemenea, mutăm valoarea pe care o setăm atât în condițiile adevărate, cât și pe cele false în fața declarației noastre unice și încorporam acest nou stil de dacă declarație în declarația în sine.
Iată cum arată acest lucru:
variabilă = (condiție)? valoare adevărată: valoare falsă;
Deci, a noastră dacă declarația de mai sus ar putea fi scrisă într-o singură linie sub forma:
mesaj = ('Ștefan' === nume)? "Welcome back Stephen": "Welcome" + nume;
În ceea ce privește JavaScript, această afirmație este identică cu codul mai lung de sus.
Singura diferență este că scrierea declarației în acest fel oferă de fapt JavaScript cu mai multe informații despre ce face declarația if. Codul poate rula mai eficient decât dacă l-am fi scris într-un mod mai lung și mai lizibil. Acesta este, de asemenea, numit operator ternar.
Acest mod de a codifica o afirmație if poate ajuta la evitarea codului verbos, în special în cuibărit dacă declarații. De exemplu, luați în considerare acest set de instrucțiuni if / else imbricate:
raspuns var;
if (a == b)
if (a == c)
raspunde = "toate sunt egale";
altfel
raspuns = "a si b sunt egali";
altfel
if (a == c)
raspunde = "a si c sunt egali";
altfel
if (b == c)
raspunde = "b si c sunt egali";
altfel
raspunde = "toate sunt diferite";
Acest cod atribuie una dintre cele cinci valori posibile unei singure variabile. Folosind această notație alternativă, o putem scurta considerabil într-o singură afirmație care include toate condițiile:
ras raspuns ((a == b)? ((a == c)? "toți sunt egali":
"a și b sunt egale"): (a == c)? "a și c sunt egali": (b == c) ?
„b și c sunt egali”: „toți sunt diferiți”;
Rețineți că această notație poate fi folosită doar atunci când toate diferitele condiții testate atribuie valori diferite la la fel variabil.