JavaScript Operator Precedence

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;

Prøv det selv

Når der bruges parenteser, beregnes først operationerne inden for parenteserne:

let x = (100 + 50) * 3;

Prøv det selv

Lignende prioriterede operationer (som * og /) beregnes fra venstre til højre:

let x = 100 / 50 * 3;

Prøv det selv

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 operatorer

potensoperation 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 operator

Tildeling 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

Se også

Tutorials:JavaScript operatorer

Referencer:JavaScript operatorer