JavaScript Ternary Operaattori pikakuvana If / Else-lauseille

Ehdollisen kolmen maan operaattorin JavaScript antaa arvon muuttujalle jonkin ehdon perusteella ja on ainoa JavaScript-operaattori, joka ottaa kolme operandia.

Kolmikantainen operaattori korvaa jos lausunto, jossa molemmat jos ja muu lausekkeet määrittävät eri arvot samalle kentälle, kuten:

jos (ehto)
tulos = 'jotain';
muu
tulos = 'jotain enkeli';

Kolmikantainen operaattori lyhentää tätä if / else-lausetta yhdeksi lauseeksi:

tulos = (ehto)? 'jotain': 'jotain enkeliä'; 

Jos kunto on totta, kolmiosainen operaattori palauttaa ensimmäisen lausekkeen arvon; muuten se palauttaa toisen lausekkeen arvon. Tarkastellaan sen osia:

  • Luo ensin muuttuja, jolle haluat antaa arvon, tässä tapauksessa tulos. Muuttuja tulos on eri arvo olosuhteista riippuen.
  • Huomaa, että oikealla puolella (ts. Itse käyttäjä), kunto on ensimmäinen.
  • kunto seuraa aina kysymysmerkki (?), jota voidaan periaatteessa lukea "oliko totta?"
  • Kaksi mahdollista tulosta ovat viimeiset, erotettuna kaksoispisteellä (:).

Tämä käyttö kolmikantainen operaattori

instagram viewer
on saatavana vain, kun alkuperäinen jos lausunto noudattaa yllä esitettyä muotoa - mutta tämä on melko yleinen skenaario, ja kolmiosaisen operaattorin käyttö voi olla paljon tehokkaampaa.

Ternaarioperaattorin esimerkki

Katsotaanpa todellinen esimerkki.

Ehkä sinun on määritettävä, mitkä lapset ovat oikean ikäisiä käymään päiväkodissa. Saatat saada ehdollisen lausunnon seuraavasti:

var ikä = 7;
var lastentarha_kelpoinen;
jos (ikä> 5) {
lastentarha_kelpoinen = "tarpeeksi vanha";
}
muuten {
lastentarha_kelpoinen = "liian nuori";
}

Kolmiosaista operaattoria käyttämällä voit lyhentää lauseketta:

var lastentarha_kelpoinen = (ikä <5)? "Liian nuori": "tarpeeksi vanha";

Tämä esimerkki palauttaisi tietysti "tarpeeksi vanha".

Useita arviointeja

Voit sisällyttää myös useita arviointeja:

var ikä = 7, var sosiaalisesti_ jo = totta;
var lastentarha_kelpoinen = (ikä <5)? "Liian nuori": sosiaalisesti_valmis
"Tarpeeksi vanha, mutta ei vielä valmis" "vanha ja sosiaalisesti kypsä"
console.log (lastentarha_kelpoinen); // lokit "tarpeeksi vanha ja sosiaalisesti kypsä"

Useita toimintoja

Kolmiosainen operaattori sallii myös useiden operaatioiden sisällyttämisen kullekin lausekkeelle erotettuna pilkulla:

var ikä = 7, sosiaalisesti_ jo = totta;
ikä> 5? (
hälytys ("olet tarpeeksi vanha."),
location.assign ( "continue.html")
): (
sosiaalisesti_valmis = väärä,
hälytys ("Anteeksi, mutta et ole vielä valmis.")
);

Ternaarioperaattorin vaikutukset

Kolmiosaiset operaattorit välttävät muuten sanallista koodi, joten toisaalta ne vaikuttavat toivottavilta. Toisaalta ne voivat vaarantaa luettavuuden - tietysti "JOS ELSE" ymmärretään helpommin kuin salauksen "?".

Kun käytät kolmiosaista operaattoria - tai mitä tahansa lyhennettä - harkitse, kuka lukee koodiasi. Jos harvemmin kokeneiden kehittäjien on ehkä ymmärrettävä ohjelmalogiikka, kolmiosaisen operaattorin käyttöä tulisi ehkä välttää. Tämä pätee erityisen hyvin, jos olosuhteesi ja arviointisi ovat riittävän monimutkaisia, jotta joudut pesämään tai ketjuttamaan kolmiosaisen operaattorisi. Itse asiassa tällaiset sisäkkäiset operaattorit voivat vaikuttaa luettavuuden lisäksi myös virheenkorjaukseen.

Kuten kaikissa ohjelmointipäätöksissä, muista ottaa huomioon konteksti ja käytettävyys ennen kolmiosaisen operaattorin käyttöä.

instagram story viewer