运算符优先级

运算符两个可以有任意多个空格或换行符
结合性决定了拥有相同优先级的运算符的执行顺序


优先级运算类型关联性运算符
20n/a( … )
19从左到右… . …
从左到右… [ … ]
new (带参数列表)n/anew … ( … )
从左到右… ( … )
18
new (无参数列表)
从右到左
new …
17后置递增(运算符在后)n/a… ++
后置递减(运算符在后)… --
16

从右到左 ! …
~ …
+ …
- …
++ …
-- …
typeof …
void …
delete …
await
15
从右到左
… ** …
14从左到右… * …
… / …
… % …
13从左到右… + …
… - …
12从左到右


… << …
… >> …
… >>> …
11从左到右… < …
… <= …
… > …
… >= …
… in …
… instanceof …
10从左到右… == …
… != …
… === …
… !== …
9从左到右… & …
8从左到右… ^ …
7从左到右… | …
6从左到右… && …
5从左到右… || …
4从右到左… ? … : …
3从右到左… = …
… += …
… -= …
… *= …
… /= …
… %= …
… <<= …
… >>= …
… >>>= …
… &= …
… ^= …
… |= …
2从右到左yield …
yield* …
1
n/a... …
0从左到右… , …