JavaScript Operatorpreferens
- Föregående sida JS-reguljära uttryck
- Nästa sida JS-undantag
Operatorprioritet (Operator Precedence) beskriver utförandet av operationer i algebraiska uttryck.
Multiplication (*) och division (/) har högre prioritet än addition (+) och subtraktion (-).
Exempel
Som i traditionell matematik utförs multiplikation först:
let x = 100 + 50 * 3;
När parenteser används, beräknas först uttrycket inom parenteserna:
let x = (100 + 50) * 3;
Lagrade operationer med samma prioritet (t.ex. * och /) beräknas från vänster till höger:
let x = 100 / 50 * 3;
Operatorprioritetsvärde
Utryck inom parentes beräknas innan övriga delar av uttrycket, och funktioner utförs innan resultatet används i övriga delar av uttrycket:
Prioritet | Operator | Beskrivning | Exempel |
---|---|---|---|
18 | ( ) | Uttrycksgruppning | (100 + 50) * 3 |
17 | . | tillhör medlem | person.name |
17 | [] | tillhör medlem | person["name"] |
17 | ?. | valbar kedja ES2020 | x ?. y |
17 | () | funktionsanrop | myFunction() |
17 | new | med parametrar att skapa | new Date("June 5,2022") |
16 | new | utan parametrar att skapa | new Date() |
inkrementoperatorerpostfixincrement utförs innan prefiksincrement. |
|||
15 | ++ | postfixincrement | i++ |
15 | -- | postfixminskning | i-- |
14 | ++ | prefiksincrement | ++i |
14 | -- | prefiksminskning | --i |
NOT operator |
|||
14 | ! | logisk icke | !(x==y) |
14 | ~ | bitvis icke | ~x |
enkel operator |
|||
14 | + | enkel addition | +x |
14 | - | enkel minskning | -x |
14 | typeof | datatyp | typeof x |
14 | void | värdering av tom | void(0) |
14 | delete | egenskaps borttagning | delete myCar.color |
aritmetiska operatorerpotensberäkning utförs innan multiplication. multiplication och division utförs innan addition och minskning. |
|||
13 | ** | potensberäkning ES2016 | 10 ** 2 |
12 | * | multiplication | 10 * 5 |
12 | / | division | 10 / 5 |
12 | % | divisionsslut | 10 % 5 |
11 | + | addition | 10 + 5 |
11 | - | minskning | 10 - 5 |
11 | + | kombinering | "Bill" + "Gates" |
flyttoperatorer |
|||
10 | << | flytt till vänster | x << 2 |
10 | >> | flytt till höger (signed) | x >> 2 |
10 | >>> | flytt till höger (unsigned) | x >>> 2 |
relationella operatorer |
|||
9 | in | egenskap i objektet | "PI" in Math |
9 | instanceof | objektets instans | x instanceof Array |
jämförelseoperatorer |
|||
9 | < | mindre än | x < y |
9 | <= | mindre eller lika med | x <= y |
9 | > | större än | x > y |
9 | >= | större eller lika med | x >= Array |
8 | == | lika | x == y |
8 | === | strikt lika | x === y |
8 | != | olika | x != y |
8 | !== | strikt olika | x !== y |
bitoperatorer |
|||
7 | & | bitvis och | x & y |
6 | ^ | bitvis XOR | x ^ y |
5 | | | bitvis eller | x | y |
logiska operatorer |
|||
4 | && | logisk och | x && y |
3 | || | logisk eller | x || y |
3 | ?? | tom radiesning ES2020 | x ?? y |
villkor (trefas)operator |
|||
2 | ? : | Villkor | ? "ja" : "nej" |
TilldelningsoperatorTilldelning utförs efter andra operationer. |
|||
2 | = | Enkel tilldelning | x = y |
2 | : | Kolon tilldelning | x: 5 |
2 | += | Lägg till tilldelning | x += y |
2 | -= | Subtraktion tilldelning | x -= y |
2 | *= | Multiplication tilldelning | x *= y |
2 | **= | Exponentiell tilldelning | x **= y |
2 | /= | Division tilldelning | x /= y |
2 | %= | Modulus tilldelning | x %= y |
2 | <<= | Vänsterflyttning tilldelning | x <<= y |
2 | >>= | Högerflyttning tilldelning | x >>= y |
2 | >>>= | Osignerad högerflyttning | x >>>= y |
2 | &= | Bits och tilldelning | x &= y |
2 | |= | Bitslogs eller tilldelning | x |= y |
2 | ^= | Bitskiljningsoperator tilldelning | x ^= y |
2 | &&= | Logisk och tilldelning | x &= y |
2 | ||= | Logisk eller tilldelning | x ||= y |
2 | => | Pil | x => y |
2 | yield | Pausa / Återställ | yield x |
2 | yield* | Delegeringsoperator | yield* x |
2 | ... | Upprepaoperator | ... x |
1 | , | Komma | x, y |
- Föregående sida JS-reguljära uttryck
- Nästa sida JS-undantag