JavaScript trīskāršais operators kā saīsne If / Else paziņojumiem

Nosacītais trīskāršais operators JavaScript piešķir mainīgajam vērtību, pamatojoties uz kādu nosacījumu, un ir vienīgais JavaScript operators, kurš ņem trīs operandus.

Trīskāršais operators ir aizstājējs ja paziņojums, kurā abi ja un cits klauzulas vienam laukam piešķir dažādas vērtības, piemēram:

ja (nosacījums)
rezultāts = 'kaut kas';
cits
rezultāts = 'kaut kas vairāk';

Trīskāršais operators saīsina šo if / else paziņojumu vienā paziņojumā:

rezultāts = (nosacījums)? 'kaut kas': 'kaut kas vispārējs'; 

Ja stāvoklis ir taisnība, trīskāršais operators atgriež pirmās izteiksmes vērtību; pretējā gadījumā tas atgriež otrās izteiksmes vērtību. Apsvērsim tā daļas:

  • Vispirms izveidojiet mainīgo, kuram vēlaties piešķirt vērtību, šajā gadījumā, rezultāts. Mainīgais rezultāts atkarībā no stāvokļa būs atšķirīga vērtība.
  • Ņemiet vērā, ka labajā pusē (t.i., pats operators), stāvoklis ir pirmais.
  • stāvoklis vienmēr seko jautājuma zīme (?), kuru pamatā var lasīt kā "vai tā bija taisnība?"
  • Divi iespējamie rezultāti ir pēdējie, tos atdala ar kolu (:).
instagram viewer

Šī trīskāršais operators ir pieejams tikai tad, ja ir oriģināls ja paziņojums atbilst iepriekš parādītajam formātam, taču tas ir diezgan izplatīts scenārijs, un trīskāršā operatora izmantošana var būt daudz efektīvāka.

Trīskāršā operatora piemērs

Apskatīsim reālu piemēru.

Varbūt jums ir jānosaka, kuri bērni ir piemērotākajā vecumā, lai apmeklētu bērnudārzu. Jums varētu būt šāds nosacīts paziņojums:

var vecums = 7;
var bērnudārzs_attaisnots;
ja (vecums> 5) {
bērnudārzs_attiecināms = "Pietiekami vecs";
}
cits {
bērnudārzs_attiecināms = "Pārāk jauns";
}

Izmantojot trīskāršo operatoru, jūs varētu saīsināt izteiksmi līdz:

var bērnudārzs_attiecināms = (vecums <5)? "Pārāk jauns": "Pietiekami vecs";

Šis piemērs, protams, atgriezītu "pietiekami vecs".

Vairāki novērtējumi

Varat iekļaut arī vairākus novērtējumus:

var vecums = 7, var sociāli_ jau = taisnība;
var bērnudārzs_attiecināms = (vecums <5)? "Pārāk jauns": sociāli_gatavs
"Pietiekami vecs, bet vēl nav gatavs" "pietiekami vecs un sociāli nobriedis"
console.log (bērnudārzs_attaisnots); // žurnāli "pietiekami veci un sociāli nobrieduši"

Vairākas operācijas

Trīskāršais operators arī ļauj iekļaut vairākas operācijas katrai izteiksmei, atdalot ar komatu:

var vecums = 7, sociāli_gads = patiess;
vecums> 5? (
brīdinājums ("Jūs esat pietiekami vecs."),
location.assign ("turpināt.html")
): (
sociāli_gads = nepatiess,
Brīdinājums ("Atvainojiet, bet jūs vēl neesat gatavs.")
);

Trīskāršā operatora ietekme

Trīskāršie operatori izvairās no pretējas runas kods, tāpēc, no vienas puses, tie šķiet vēlami. No otras puses, tie var kompromitēt lasāmību - acīmredzot "IF ELSE" ir vieglāk saprotams nekā kriptogrāfs "?".

Izmantojot trīskāršu operatoru vai jebkuru saīsinājumu, apsveriet, kurš lasīs jūsu kodu. Ja mazāk pieredzējušiem izstrādātājiem var nākties izprast jūsu programmas loģiku, iespējams, jāizvairās no trīskāršā operatora izmantošanas. Tas jo īpaši attiecas uz gadījumiem, kad jūsu stāvoklis un novērtējumi ir pietiekami sarežģīti, lai jums būtu nepieciešams ligzdot vai ķēdi savam trīskāršajam operatoram. Faktiski šāda veida ligzdoti operatori var ietekmēt ne tikai lasāmību, bet arī atkļūdošanu.

Tāpat kā ar jebkuru plānošanas lēmumu, pirms trīskāršā operatora izmantošanas noteikti apsveriet kontekstu un lietojamību.