JavaScript Operator Precedence

Bewerker prioriteit (Operator Precedence) beschrijft de volgorde van uitvoering van berekeningen in een wiskundige uitdrukking.

De prioriteit van het vermenigvuldigen (*) en delen (/) is hoger dan die van het toevoegen (+) en aftrekken (-).

Voorbeeld

Net als in traditionele wiskunde wordt eerst de vermenigvuldiging uitgevoerd:

let x = 100 + 50 * 3;

Probeer het zelf

Bij het gebruik van ronde haakjes wordt eerst de berekening binnen de ronde haakjes uitgevoerd:

let x = (100 + 50) * 3;

Probeer het zelf

Bewerkers met dezelfde prioriteit (zoals * en /) worden van links naar rechts berekend:

let x = 100 / 50 * 3;

Probeer het zelf

Bewerker prioriteitswaarden

Uitdrukkingen in haakjes worden berekend voordat de overige delen van de uitdrukking worden berekend, en functies worden uitgevoerd voordat de resultaten worden gebruikt in de overige delen van de uitdrukking:

Prioriteit Bewerker Beschrijving Voorbeeld
18 ( ) Uitdrukkingen groeperen (100 + 50) * 3
17 . eigendom van person.name
17 [] eigendom van person["name"]
17 ?. optionele ketting ES2020 x ?. y
17 () functie aanroep myFunction()
17 new met parameters新建 new Date("June 5,2022")
16 new geen parameters新建 new Date()

increment operatoren

postfix increment wordt uitgevoerd vóór prefix increment.

15 ++ postfix increment i++
15 -- postfix decrement i--
14 ++ prefix increment ++i
14 -- prefix decrement --i

NOT operatoren

14 ! logische niet !(x==y)
14 ~ bitwise niet ~x

unary operatoren

14 + unary toevoegen +x
14 - unary afnemen -x
14 typeof gegevens type typeof x
14 void leeg beoordelen void(0)
14 delete eigenschap verwijderen delete myCar.color

wiskundige operatoren

exponentiële berekening wordt uitgevoerd vóór vermenigvuldiging.

vermenigvuldiging en deling worden uitgevoerd vóór optelling en aftrek.

13 ** exponentiële berekening ES2016 10 ** 2
12 * vermenigvuldigen 10 * 5
12 / delen 10 / 5
12 % divisie rest 10 % 5
11 + toevoegen 10 + 5
11 - afnemen 10 - 5
11 + samenvoeging "Bill" + "Gates"

shift operatoren

10 << left shift x << 2
10 >> right shift (signed) x >> 2
10 >>> right shift (unsigned) x >>> 2

relatieve operatoren

9 in eigenschap in object "PI" in Math
9 instanceof object instance x instanceof Array

vergelijkingsoperatoren

9 < kleiner x < y
9 <= kleiner of gelijk x <= y
9 > groter x > y
9 >= groter of gelijk x >= Array
8 == gelijk x == y
8 === strictly gelijk x === y
8 != ongelijk x != y
8 !== strictly niet gelijk x !== y

bitwise operatoren

7 & bitwise en x & y
6 ^ bitwise xor x ^ y
5 | bitwise of x | y

logische operatoren

4 && logische en x && y
3 || logische of x || y
3 ?? geen waarde samenvoeging ES2020 x ?? y

voorwaardelijke (trefwoorden) operator

2 ? : Voorwaardelijk ? "ja" : "nee"

Toewijzingsoperator

Toewijzing wordt uitgevoerd na andere operaties.

2 = Eenvoudige toewijzing x = y
2 : Kolom toewijzen x: 5
2 += Add toewijzen x += y
2 -= Subtract toewijzen x -= y
2 *= Multiply toewijzen x *= y
2 **= Exponent toewijzen x **= y
2 /= Divide toewijzen x /= y
2 %= Modulus toewijzen x %= y
2 <<= Left shift toewijzen x <<= y
2 >>= Right shift toewijzen x >>= y
2 >>>= Unsigned right shift x >>>= y
2 &= Bitwise en toewijzen x &= y
2 |= Bitwise of toewijzen x |= y
2 ^= Bitwise XOR toewijzen x ^= y
2 &&= Logisch en toewijzen x &= y
2 ||= Logisch of toewijzen x ||= y
2 => Pijltje x => y
2 yield Pauzeren / Herstellen yield x
2 yield* Delegatieoperator yield* x
2 ... Uitbreidingsoperator ... x
1 , komma x, y

Zie ook

Tutorial:JavaScript Operator

Referentiemanual:JavaScript Operator