Sąlyginis trišalis operatorius „JavaScript“ priskiria reikšmę kintamajam pagal tam tikras sąlygas ir yra vienintelis „JavaScript“ operatorius, paimantis tris operandus.
Trišakis operatorius yra pakaitalas jei pareiškimas, kuriame abi jei ir Kitas sakiniai tam pačiam laukui priskiria skirtingas reikšmes, pavyzdžiui:
if (sąlyga)
rezultatas = 'kažkas';
Kitas
rezultatas = 'kažkas negerai';
Trišalis operatorius sutrumpina šį teiginį / kitą teiginį į vieną teiginį:
rezultatas = (sąlyga)? 'kažkas': 'kažkas, kas yra gelsva';
Jei sąlyga tiesa, trišalis operatorius grąžina pirmosios išraiškos vertę; kitu atveju ji grąžina antros išraiškos vertę. Panagrinėkime jo dalis:
- Pirmiausia sukurkite kintamąjį, kuriam norite priskirti vertę, šiuo atveju, rezultatas. Kintamasis rezultatas priklausomai nuo būklės turės skirtingą vertę.
- Atminkite, kad dešinėje (t. Y. Pats operatorius), sąlyga yra pirma.
- sąlyga visada seka klaustukas (?), kurį iš esmės galima skaityti kaip „ar tai buvo tiesa?“
- Du galimi rezultatai yra paskutiniai, atskirti dvitaškiu (:).
Šis naudojimas trišakis operatorius galima tik tada, kai originalas jei teiginys atitinka aukščiau parodytą formatą, tačiau tai gana dažnas scenarijus, o naudoti trišalį operatorių gali būti daug efektyviau.
Trejybės operatoriaus pavyzdys
Pažvelkime į realų pavyzdį.
Galbūt jums reikia nustatyti, kurie vaikai yra tinkamo amžiaus lankyti darželį. Galbūt turėsite sąlyginį teiginį:
var amžius = 7;
var darželis_atitinka;
if (amžius> 5) {
darželis_ tinkamas = „pakankamai senas“;
}
Kitas {
vaikų darželis_ tinkamas = „per jaunas“;
}
Naudodamiesi trišaliu operatoriumi, galite sutrumpinti išraišką iki:
var darželis_atitinka = (amžius <5)? „Per jaunas“: „pakankamai senas“;
Šis pavyzdys, be abejo, grįš „pakankamai senas“.
Keli vertinimai
Taip pat galite įtraukti kelis vertinimus:
var amžius = 7, var socially_ready = tiesa;
var darželis_atitinka = (amžius <5)? „Per jaunas“: socialiai_nauja
„Pakankamai senas, bet dar nepasirengęs“ „pakankamai senas ir socialiai subrendęs“
console.log (darželis_atitinkamas); // žurnalai "pakankamai seni ir socialiai subrendę"
Keli operacijos
Trišalis operatorius taip pat leidžia įtraukti keletą operacijų kiekvienai išraiškai, atskirtas kableliu:
var amžius = 7, socialine prasme = tikras;
amžius> 5? (
perspėjimas („Jūs pakankamai senas“),
vieta.paskirtis („tęsti.html“)
): (
socialiai_ne = klaidinga,
perspėjimas („Atsiprašome, bet dar nesate pasiruošęs“)
);
Trejybės operatoriaus pasekmės
Trejybės operatoriai vengia žodžiu kodas, taigi, viena vertus, jie atrodo geidžiami. Kita vertus, jie gali pakenkti skaitomumui - akivaizdu, kad „IF ELSE“ yra lengviau suprantamas nei kriptas “?“.
Kai naudojate trišalį operatorių arba bet kurį sutrumpinimą, pagalvokite, kas skaitys jūsų kodą. Jei mažiau patyrusiems kūrėjams gali reikėti suprasti jūsų programos logiką, galbūt reikėtų vengti naudoti trišalį operatorių. Tai ypač pasakytina apie jūsų būklę ir įvertinimus, kurie yra pakankamai sudėtingi, kad jums prireiktų lizdo ar grandinės jūsų trijų operatorių. Tiesą sakant, tokio tipo įdėtieji operatoriai gali turėti įtakos ne tik skaitomumui, bet ir derinimui.
Kaip ir priimant bet kurį programavimo sprendimą, prieš naudodamiesi trišakiu operatoriumi, būtinai apsvarstykite aplinkybes ir patogumą.