Ternære Operatører I JavaScript

er du lei av å gjenta deg selv mens du koder? Bruker du fortsatt de tradisjonelle ‘if … else’ – blokkene? Hva om jeg fortalte deg, kunne du skrive 15 linjer med kode i 4 linjer? Ring 1-800-TERNÆRE OPERATØRER nå.

Ternære Operatører er stenografi versjon av if … andre uttalelser. Det er den eneste betingede operatøren I JavaScript som tar tre operander.

den grunnleggende syntaksen for ternære operatorer er

betingelse ? uttrykk1 : uttrykk2

  • hvor betingelsen er verdien som skal testes/evalueres, kan
  • uttrykk1 være verdi(er) av hvilken som helst type som skal utføres hvis betingelsen er sann
  • uttrykk2 kan være verdi(er) av hvilken som helst type som skal utføres hvis uttrykk1 er falsk, dvs. reserveverdi vanligvis kjent som ‘else’
  • «? «betyr » hvis», og » : «betyr » annet»

La oss se på et eksempel

Hvis vi skulle avgjøre om man får lov til å kjøre etter deres alder, ved hjelp av if…else — setningene-det ser noe ut som dette

var age = 18;if (age >= 16) {
alert("You're allowed to drive!");
}else {
alert("You should be 16 to drive!");
}// "You're allowed to drive!"

Ved hjelp av ternære operatører, vil den samme koden se slik ut

var age = 18;alert (age >= 16) ? "You're allowed to drive!" : "You should be 16 to drive!"// You're allowed to drive!

Voila! Denne kodeblokken vil oversette TIL hvis variabelen ‘alder’ er større eller lik 16, bør nettleseren varsle ‘ Du har lov til å kjøre!’, ELLERS ‘ du burde være 16 å kjøre! bør varsles !

En annen grunn til å vedta ternær, er det fleksibilitet og miniatyrstørrelse som kan passe hvor som helst i koden din. For eksempel, hvis du vil feste resultatet av strengen direkte til en streng, kan du enkelt gjøre det uten å måtte erklære tilstanden din separat.

var isMember = true;
'The fee is ' + (isMember ? '.00' : '.00'); // The fee is .00

hvis isMember er sant, ‘gebyret er $2,00’, ELLERS ‘gebyret er $10,00’.

Gjett hva?! Du kan også tilordne resultatene av de ternære operasjonene til variabler. La oss bruke det samme kjøreeksemplet vi brukte tidligere.

var age = 18;
var canDrive = (age >= 16) ? "You're allowed to drive!" : "You should be 16 to drive!";
console.log(canDrive); // "You're allowed to drive!"

i dette eksemplet lagret vi resultatet i en variabel og viste det senere i konsollen.

Det er like mye mulig i ternære operatører som i den tradisjonelle if … else-blokken. Flere ternære operatører kan kjedes sammen for å danne det vi kaller «HVIS … ELLERS HVIS … ELLERS» blokk.

var year = prompt('Which year was the 2018 World Cup?', '');
alert(year < 2018) ? 'Too early' : (year > 2018) ? 'Too late' : 'Exactly!'; // Exactly!

kodeblokken ovenfor vil oversette hvis året er mindre enn 2018, nettleseren skal varsle ‘For tidlig’, ellers, hvis året er større enn 2018, Vil ‘For sent’ bli vist, ellers hvis det ikke er større eller mindre enn det vil si lik, Så Vil ‘Nøyaktig’ bli vist.

du kan også ha nestet hvis setninger:

var statement1 = true;
var statement2 = true;var check = statement1 ? (statement2 ? "True, Yes!" : "True, False!") : 'False';console.log(check); // True, Yes!

øynene våre skanner koder vertikalt, hvilket innrykk og mellomrom spiller store deler for å hjelpe oss med å lese kodene enkelt. De er ikke utelukket i ternære, og gratis mellomrom påvirker ikke koden din.

var stop = false, age = 23;
age > 18 ? (
alert('OK, you can go.')
) : (
alert('Sorry, you are much too young!')
);

koden ovenfor vil fungere like godt som enhver ternær evaluering eller noen hvis … annet operasjon.

det er også mulig å ha flere operasjoner per sak, og skille dem med komma.

var stop = false, age = 23;
age > 18 ? (
alert('OK, you can go.'),
location.assign('continue.html')
) : (
stop = true,
alert('Sorry, you are much too young!')
);

du kan også ha flere operasjoner og tilordne verdiene til en variabel. Den siste kommaseparerte verdien vil bli tildelt variabelen.

var age = 16;
var auth = age > 18 ? (
alert('OK, you can go.'),
// alert returns "undefined", but it will be ignored because
// isn't the last comma-separated value of the parenthesis
'APPROVED' // the value to be assigned if age > 18
) : (
alert('You are much too young!'),
alert('Sorry :-('),
// etc. etc.
'DISAPPROVE' // the value to be assigned if !(age > 18)
);
location.assign(auth); // "DISAPPROVE"

Sist men ikke minst kan ternære operasjoner brukes til å returnere verdier i funksjoner. For eksempel, hvis vi skulle skrive en funksjon for å returnere en verdi for å avgjøre Om Chris Pratt er medlem Av Marvel-Universet eller ikke;

var marvel = true;function chrisPratt(marvel) {
if (marvel === true){
return "I am Star-Lord!";
}
else {
return "Have you watched Guardians of the Galaxy?";
}}
var output = chrisPratt(marvel);
console.log(output); // "I am Star-Lord!"

Legg merke til at vi brukte retur flere ganger og måtte skrive if … else-setningen og legge inn verdiene i krøllete parenteser etc, noe som er flott. Men det kan forkortes ved hjelp av ternære operatører. Den samme koden ovenfor vil bli vurdert som sådan i ternær operasjon;

var marvel = true;function chrisPratt(marvel) {
return (marvel === true) ? "I am Star-Lord!" : "Have you watched Guardians of the Galaxy?";
}
var output = chrisPratt(marvel);
console.log(output); // "I am Star-Lord!"

Merk: alle variabler som brukes i en ternær operasjon, skal defineres før operasjonen opprettes.

hvis du gjorde det så langt, takk!

Føl deg fri til å legge Meg På Twitter og På Instagram

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.