A JavaScript ternary operátor parancsikonként az if / else nyilatkozatokhoz

A feltételes háromoldalú operátor JavaScript valamilyen feltétel alapján egy értéket rendel egy változóhoz, és az egyetlen JavaScript operátor, amely három operandust vesz fel.

A háromoldalú operátor helyettesíti a ha nyilatkozat, amelyben mind a ha és más a záradékok különböző értékeket rendelnek ugyanahhoz a mezőhöz, például:

if (feltétel)
eredmény = 'valami';
más
eredmény = 'valami más';

A háromoldalú operátor ezt az if / else állítást egyetlen állításba rövidíti:

eredmény = (feltétel)? „valami”: „valami más”; 

Ha feltétel igaz, a háromoldalú operátor visszatér az első kifejezés értékét; egyébként a második kifejezés értékét adja vissza. Vizsgáljuk meg annak részeit:

  • Először hozzon létre egy változót, amelyhez értéket szeretne rendelni, ebben az esetben eredmény. A változó eredmény a feltételtől függően más értékű lesz.
  • Vegye figyelembe, hogy a jobb oldalon (azaz maga a kezelő) a feltétel az első.
  • Az feltétel mindig kérdőjelet követ (?), amelyet alapvetően úgy lehet értelmezni, hogy "igaz volt ez?"
  • A két lehetséges eredmény utoljára ér véget, kettőspont elválasztva (:).
instagram viewer

A háromoldalú operátor csak akkor érhető el, ha az eredeti ha A nyilatkozat a fent bemutatott formátumot követi, de ez nagyon gyakori forgatókönyv, és a háromoldalú operátor használata sokkal hatékonyabb lehet.

Ternáriumi operátor példa

Nézzünk meg egy valódi példát.

Lehet, hogy meg kell határoznia, hogy mely gyermekek a megfelelő korúak az óvodába járáshoz. Lehet, hogy van egy ilyen feltételes kijelentése:

var életkor = 7;
var óvodai támogatható;
if (életkor> 5) {
óvoda_megfelelő = "Elég öreg";
}
más {
óvoda_köthető = "Túl fiatal";
}

A háromoldalú operátor segítségével lerövidítheti a kifejezést:

var óvodai_megfelelő = (<5 év)? "Túl fiatal": "Elég idős";

Ez a példa természetesen "elég öregnek" adna vissza.

Több értékelés

Több értékelést is bevonhat:

var életkor = 7, var társadalmi szempontból már = igaz;
var óvodai_megfelelő = (<5 év)? "Túl fiatal": társadalmilag már kész
"Elég öreg, de még nem áll készen" "Elég idős és társadalmilag érett"
console.log (óvodai jogosultság); // naplók: "Öreg és társadalmilag érett"

Több művelet

A háromoldalú operátor lehetővé teszi, hogy minden kifejezéshez több műveletet vonjanak be, vesszővel elválasztva:

var életkor = 7, társadalmi szempontból már = igaz;
életkor> 5? (
riasztás ("Ön elég idős"),
location.assign ( "continue.html")
): (
socially_ready = hamis,
figyelmeztetés ("Sajnálom, de még nem készen állsz.")
);

Ternáriumi operátor következményei

A háromoldalú operátorok kerülik az egyébként szóbeszédet kód, tehát egyrészt kívánatosnak tűnnek. Másrészt, veszélyeztethetik az olvashatóságot - nyilvánvaló, hogy "HA ELSE" könnyebben érthető, mint egy rejtélyes "?".

Háromoldalú operátor vagy bármilyen rövidítés használatakor fontolja meg, ki fogja olvasni az Ön kódját. Ha a kevésbé tapasztalt fejlesztőknek meg kell értenie a program logikáját, akkor el kell kerülni a háromoldalú operátor használatát. Ez különösen igaz akkor, ha állapota és kiértékelése elég összetett, hogy be kellene fészkelnie vagy láncolnia kell a háromoldalú operátort. Valójában az ilyen beágyazott operátorok nemcsak az olvashatóságot, hanem a hibakeresést is befolyásolhatják.

Mint minden programozási döntésnél, mindenképp mérlegelje a környezetet és a használhatóságot, mielőtt háromoldalú operátort használna.