V tej vadnici boste s pomočjo primerov spoznali pogojni / ternarni operator v JavaScript.
V if… else
nekaterih primerih lahko nadomestimo stavek s ternarnim operatorjem . Preden se naučite o ternarnih operaterjih, preverite vadnico JavaScript, če … drugače.
Kaj je operater Ternary?
Ternarni operater oceni stanje in na podlagi pogona izvede blok kode.
Njegova sintaksa je:
stanje? izraz1: izraz2
Ternarni operater oceni preskusno stanje.
- Če je pogoj
true
, izraz1 se izvede. - Če je pogoj
false
, se izraz2 izvrši.
Ternarni operator ima tri operande, od tod tudi ime ternarni operator. Znan je tudi kot pogojni operater.
Napišimo program, s katerim bomo na podlagi pridobljenih ocen ugotovili, ali je študent uspešno opravil izpit ali ga ni opravil.
Primer: Ternarni operater JavaScript
// program to check pass or fail let marks = prompt('Enter your marks :'); // check the condition let result = (marks>= 40) ? 'pass' : 'fail'; console.log(`You $(result) the exam.`);
Izhod 1
Vpišite svoje ocene: 78 Opravite izpit.
Recimo, da uporabnik vnese 78 . Nato marks>= 40
se preveri stanje, ki ocenjuje na true
. Torej je prvi izraz pass
dodeljen spremenljivki rezultata.
Rezultat 2
Vpišite svoje ocene: 35 Ne izpit.
Recimo, da uporaba vnese 35 . Nato stanje marks>= 40
oceni na false
. Torej je drugi izraz fail
dodeljen spremenljivki rezultata.
Uporablja se ternarni operater Namesto, če … drugače
V JavaScript lahko s ternarnim operatorjem nadomestimo določene vrste if… else
stavkov. Na primer
To kodo lahko zamenjate
// check the age to determine the eligibility to vote let age = 15; let result; if (age>= 18) ( result = "You are eligible to vote."; ) else ( result = "You are not eligible to vote yet."; ) console.log(result);
s
// ternary operator to check the eligibility to vote let age = 15; let result = (age>= 18) ? "You are eligible to vote." : "You are not eligible to vote yet"; console.log(result);
Izhod obeh programov bo enak.
Izhod
Še niste upravičeni do glasovanja.
Vgnezdeni ternarni operaterji
Enega ternarnega operatorja lahko ugnezdiš tudi kot izraz znotraj drugega ternarnega operaterja. Na primer
// program to check if number is positive, negative or zero let a = 3; let result = (a>= 0) ? (a == 0 ? "zero" : "positive") : "negative"; console.log(`The number is $(result).`);
Izhod
Številka je pozitivna.
Opomba : Poskusite se izogniti ugnezdenim ternarnim operatorjem, kadar koli je to mogoče, saj vam otežujejo branje kode.