Learning JavaScript (2016)
Appendix B. Operator Precedence
Table B-1 is reproduced from the Mozilla Developer Network for reference. ES7 operators have been omitted.
Precedence |
Operator type |
Associativity |
Individual operators |
19 |
Grouping |
n/a |
( … ) |
18 |
Member access |
left to right |
… . … |
Computed member access |
left to right |
… [ … ] |
|
new (with argument list) |
n/a |
new … ( … ) |
|
17 |
Function call |
left to right |
… ( … ) |
new (without argument list) |
right to left |
new … |
|
16 |
Postfix increment |
n/a |
… ++ |
Postfix decrement |
n/a |
… -- |
|
15 |
Logical NOT |
right to left |
! … |
Bitwise NOT |
right to left |
~ … |
|
Unary plus |
right to left |
+ … |
|
Unary negation |
right to left |
- … |
|
Prefix increment |
right to left |
++ … |
|
Prefix decrement |
right to left |
-- … |
|
typeof |
right to left |
typeof … |
|
void |
right to left |
void … |
|
delete |
right to left |
delete … |
|
14 |
Multiplication |
left to right |
… * … |
Division |
left to right |
… / … |
|
Remainder |
left to right |
… % … |
|
13 |
Addition |
left to right |
… + … |
Subtraction |
left to right |
… - … |
|
12 |
Bitwise left shift |
left to right |
… << … |
Bitwise right shift |
left to right |
… >> … |
|
Bitwise unsigned right shift |
left to right |
… >>> … |
|
11 |
Less than |
left to right |
… < … |
Less than or equal |
left to right |
… <= … |
|
Greater than |
left to right |
… > … |
|
Greater than or equal |
left to right |
… >= … |
|
in |
left to right |
… in … |
|
instanceof |
left to right |
… instanceof … |
|
10 |
Equality |
left to right |
… == … |
Inequality |
left to right |
… != … |
|
Strict equality |
left to right |
… === … |
|
Strict inequality |
left to right |
… !== … |
|
9 |
Bitwise AND |
left to right |
… & … |
8 |
Bitwise XOR |
left to right |
… ^ … |
7 |
Bitwise OR |
left to right |
… | … |
6 |
Logical AND |
left to right |
… && … |
5 |
Logical OR |
left to right |
… || … |
4 |
Conditional |
right to left |
… ? … : … |
3 |
Assignment |
right to left |
… = … |
… += … |
|||
… -= … |
|||
… *= … |
|||
… /= … |
|||
… %= … |
|||
… <<= … |
|||
… >>= … |
|||
… >>>= … |
|||
… &= … |
|||
… ^= … |
|||
… |= … |
|||
2 |
yield |
right to left |
yield … |
1 |
Spread |
n/a |
… … |
0 |
Comma/sequence |
left to right |
… , … |
Table B-1. Operator precedence from highest (19) to lowest (0) |