JavaScript Operator Precedence
- Forrige side JS regulære udtryk
- Næste side JS undtagelser
Operatorprioritet (Operator Precedence) beskriver rækkefølgen af, hvordan operationer udføres i et aritmetisk udtryk.
Multiplikation (*) og division (/) har højere prioritet end addition (+) og subtraktion (-).
eksempel
Som i traditionel matematik udføres multiplikation først:
let x = 100 + 50 * 3;
Når der bruges parenteser, beregnes først operationerne inden for parenteserne:
let x = (100 + 50) * 3;
Lignende prioriterede operationer (som * og /) beregnes fra venstre til højre:
let x = 100 / 50 * 3;
operatorprioritetsværdi
Udtryk i parentes beregnes først i forhold til de øvrige dele af udtrykket, og funktioner udføres først før brug i de øvrige dele af udtrykket:
prioritet | operator | beskrivelse | eksempel |
---|---|---|---|
18 | ( ) | udtryksgruppering | (100 + 50) * 3 |
myFunction() | . | [] | . |
myFunction() | person.name | [] | tilhører medlem |
myFunction() | person["name"] | ?. ES2020 | valgfri kæde |
myFunction() | x ?. y | ()) | funktion kald |
myFunction() | 16 | 17 | med parametre oprettelse |
new Date("June 5,2022") | 16 | new | uden parametre oprettelse |
new Date()inkrementoperatorer |
|||
i++ | ++ | postfiks inkrement udføres før præfiks inkrement. | postfiks inkrement |
i++ | -- | 15 | i-- |
14 | ++ | præfiks inkrement | ++i |
14 | -- | præfiks dekrement | --i |
NOT operator |
|||
14 | ! | logisk ikke | !(x==y) |
14 | ~ | bittvis ikke | ~x |
enkel operatorer |
|||
14 | + | enkel plus | +x |
14 | - | enkel minus | -x |
14 | typeof | data-type | typeof x |
14 | void | evaluer tom | void(0) |
14 | delete | egenskabsdeletion | delete myCar.color |
aritmetiske operatorerpotensoperation udføres før multiplikation. multiplikation og division udføres før addition og subtraktion. |
|||
13 | ** | potensoperation ES2016 | 10 ** 2 |
12 | * | multiplikation | 10 * 5 |
12 | / | dividere | 10 / 5 |
12 | % | divisionsrest | 10 % 5 |
11 | + | plus | 10 + 5 |
11 | - | træk | 10 - 5 |
11 | + | kæde | "Bill" + "Gates" |
flytteoperatorer |
|||
10 | << | venstre flytning | x << 2 |
10 | >> | højre flytning (signed) | x >> 2 |
10 | >>> | højre flytning (usigned) | x >>> 2 |
relationelle operatorer |
|||
9 | in | egenskab i objekt | "PI" in Math |
9 | instanceof | objektets instans | x instanceof Array |
sammenligningsoperatorer |
|||
9 | < | mindre end | x < y |
9 | <= | mindre end eller lig med | x <= y |
9 | > | større end | x > y |
9 | >= | større end eller lig med | x >= Array |
8 | == | lig med | x == y |
8 | === | strengt lig | x === y |
8 | != | ikke lig | x != y |
8 | !== | strengt ikke lig | x !== y |
bitoperatorer |
|||
7 | & | bittvis og | x & y |
6 | ^ | bittvis forskellig | x ^ y |
5 | | | bittvis eller | x | y |
logiske operatorer |
|||
4 | && | logisk og | x && y |
3 | || | logisk eller | x || y |
3 | ?? | nulværdiudtrækningsoperator ES2020 | x ?? y |
betingelsesværdioperator |
|||
2 | ? : | Betingelse | ? "ja" : "nej" |
Tildeling operatorTildeling udføres efter andre operationer. |
|||
2 | = | enkel tildeling | x = y |
2 | : | kolon tildeling | x: 5 |
2 | += | adderende tildeling | x += y |
2 | -= | trækning tildeling | x -= y |
2 | *= | multiplikation tildeling | x *= y |
2 | **= | eksponentiel tildeling | x **= y |
2 | /= | division tildeling | x /= y |
2 | %= | modul tildeling | x %= y |
2 | <<= | venstre flytning tildeling | x <<= y |
2 | >>= | højre flytning tildeling | x >>= y |
2 | >>>= | usigneret højre flytning | x >>>= y |
2 | &= | bitvis og tildeling | x &= y |
2 | |= | bitvis eller tildeling | x |= y |
2 | ^= | bitvis eksklusiv tildeling | x ^= y |
2 | &&= | logisk og tildeling | x &= y |
2 | ||= | logisk eller tildeling | x ||= y |
2 | => | pil | x => y |
2 | yield | pause / genoptag | yield x |
2 | yield* | delegeringsoperator | yield* x |
2 | ... | udvidelsesoperator | ... x |
1 | , | komma | x, y |
- Forrige side JS regulære udtryk
- Næste side JS undtagelser