JavaScript Operatorpreferens

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;

Prova själv

När parenteser används, beräknas först uttrycket inom parenteserna:

let x = (100 + 50) * 3;

Prova själv

Lagrade operationer med samma prioritet (t.ex. * och /) beräknas från vänster till höger:

let x = 100 / 50 * 3;

Prova själv

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()

inkrementoperatorer

postfixincrement 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 operatorer

potensberä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"

Tilldelningsoperator

Tilldelning 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

Se också

Handledning:JavaScript operatorer

Referenshandbok:JavaScript operatorer