Operator Precedence - Learning JavaScript (2016)

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)