Mens du utfører en operasjon, Høy forrang Operatører regnes som operander av lavere forrang operatører. Dette betyr at operatøren i en gitt operasjon først blir evaluert først.
Denne oppskrivningen vil diskutere arbeider av Operatørens forrang i JavaScript.
Operatørpresedence i JavaScript
Før du skriver noe uttrykk i JavaScript, er det viktig å vite rekkefølgen som de ekstra operasjonene vil bli utført, da det sikrer at du oppnår de ønskede resultatene.
Hver JavaScript -operatør har en "Nivå av betydning”Eller“PRECEDENCE BESTILLING”Sammenlignet med andre operatører, så utføres operatørene med høy forrang før den lave forrangsoperatørene. Dessuten er et annet begrep involvert i hele denne prosedyren kjent som "Assosiativitet”.
Operatører assosiativitet i JavaScript
Operatørens tilknytning bestemmer retningen for å utføre operasjoner som kan være "venstre til høyre”Eller "høyre til venstre”.
“venstre til høyre”Assosiativitet eksisterer for aritmetiske operatører for eksempel tillegg, multiplikasjon, subtraksjon og inndeling. Til sammenligning er andre operatører som den boolske “IKKE”Operatør og alt Oppdragsoperatører er basert på “høyre til venstre" Assosiativitet.
Eksempel: Operatører tilknytning i JavaScript
Subtraksjon er et utmerket eksempel på en operasjon der tilknytning er viktig. For eksempel resultatet av å trekke fra "4 fra 9”Er ikke det samme som å trekke fra”9 fra 4”:
var x = 9 - 4;Nivåer av operatørpresedence i JavaScript
Operatørens forrang i JavaScript er delt inn i 19 forskjellige nivåer. Sjekk ut tabellen nedenfor for å vite mer om dem:
Type operatør | Assosiativitet | Individuelle operatører | PRECEDENCE BESTILLING |
Gruppering | n/a | (...) | 19 |
Valgfri kjetting | venstre til høyre | ?. | 18 |
Ny (med argumentliste) | n/a | Ny ... (...) | |
Medlemstilgang | venstre til høyre | .. ... | |
Beregnet medlemstilgang | venstre til høyre | … […] | |
Funksjonsanrop | venstre til høyre | ... (...) | |
Ny (uten argumentliste) | høyre til venstre | ny… | 17 |
Postfix økning | n/a | .. ++ | 16 |
Postfix Decrement | .. - | ||
Prefiksøkning | høyre til venstre | ++.. | 15 |
Bitvis ikke (~) | .. | ||
Unary Plus (+) | +.. | ||
Logisk ikke (!) | !.. | ||
Unary Negation (-) | -.. | ||
Prefiks -reduksjon | -.. | ||
tomrom | tomrom… | ||
avvente | avvente… | ||
slett | Slett .. | ||
typeof | type av .. | ||
Eksponentiering (**) | høyre til venstre | ... ** .. | 14 |
Multiplikasjon (*) | venstre til høyre | ... *.. | 1. 3 |
Resten (%) | ... %.. | ||
Inndeling | ... /.. | ||
Tillegg (+) | venstre til høyre | ... +.. | 12 |
Subtraksjon (-) | ... -.. | ||
Bitvis venstre skift (<<) | venstre til høyre | .. <<… | 11 |
Bitvis høyre skift (>>) | ... >> .. | ||
Bitvis usignert høyre skift (>>>) | ... >>> .. | ||
Større enn (>) | venstre til høyre | ...> .. | 10 |
mindre enn (>) | .. <… | ||
Større enn eller lik (> =) | ...> = .. | ||
Mindre enn eller lik (<=) | .. <=… | ||
tilfelle av | … tilfelle av… | ||
i | ... i .. | ||
Ulikhet (!=) | venstre til høyre | .. != .. | 9 |
Streng ulikhet (!==) | .. !== .. | ||
Streng ulikhet (===) | ... === .. | ||
Likhet (==) | ... == .. | ||
Bitvis og (&) | venstre til høyre | ... & .. | 8 |
Bitvis xor (^) | venstre til høyre | ... ^.. | 7 |
Bitvis eller (|) | venstre til høyre | ... | .. | 6 |
Logisk og (&&) | venstre til høyre | ... && .. | 5 |
Nullish Coalescing Operator (??) | venstre til høyre | .. ??.. | 4 |
Logisk eller (||) | venstre til høyre | ... || .. | |
Betinget (ternær) operatør | høyre til venstre | .. ?...: .. | 3 |
Oppdrag | høyre til venstre | ... = .. | 2 |
... += .. | |||
... -= .. | |||
... ** = .. | |||
... *= .. | |||
... /= .. | |||
... %= .. | |||
.. <<=… | |||
... >> = .. | |||
... >>> = .. | |||
... & = .. | |||
... ^= .. | |||
... | = .. | |||
... && = .. | |||
... || = .. | |||
.. ??= .. | |||
utbytte | høyre til venstre | utbytte… | |
utbytte* | utbytte*… | ||
Sekvens / komma | venstre til høyre | ..., .. | 1 |
Eksempel: Hvordan fungerer operatørpresedence i JavaScript
Tenk på følgende uttrykk:
4 + 5 - 10 + 7 * 4 + 3Vi har lagt til tre forekomster av "+”Tilleggsoperatør i ovennevnte uttrykk. Uten noen operatørpresedence kan det uttalte uttrykket gi en annen verdi; Imidlertid vil vi løse det i henhold til precedence -orden.
I henhold til tabellen gitt i forrige seksjon har multiplikasjonsoperatøren “*” høyere forrang enn forrang for tilleggs- og subtraksjonsoperatører, så den vil bli utført først. Både tilleggs- og subtraksjonsoperatører har samme forrangsrekkefølge, noe som betyr at de er på samme nivå, og JavaScript vil evaluere dem fra venstre til høyre.
JavaScript vil utføre følgende trinn bak kulissene for å evaluere det gitte uttrykket:
Først av alt vil det formere seg 7 * 4 som lik "28”Og oppdater deretter ligningen som:
4 + 5 - 10 + 28 + 3Deretter vil uttrykket bli evaluert fra “lEFT-til-høyre”Retning, starter fra“4 + 5”Tillegg som resulterer”9”:
9 - 10 + 28 + 3Deretter, "10”Trekkes fra"9”Som gir”-2”Verdi:
-1 + 28 + 3Etter å ha gjort det, “28”Vil bli trukket fra“-1”:
27 + 3I det siste trinnet utføres tilleggsoperasjonen for nummeret "27 + 3”Som resulterer i“30”:
Vi har gitt den essensielle informasjonen relatert til arbeid fra operatørens forrang i JavaScript. Du kan utforske dette emnet videre i henhold til dine krav.
Konklusjon
I JavaScript har hver operatør en PRECEDENCE BESTILLING, som fungerer på en slik måte at operatører med høy forrang blir utført for operatørene med lav forrang, og operatørene med høy forrang blir betraktet som operandene for lavere forrangsoperatører. Operatøren Precedence hjelper med å evaluere et matematisk uttrykk i riktig sekvens. Denne oppskrivningen diskuterte arbeidet med operatørens forrang i JavaScript.