运算符优先级
运算符两个可以有任意多个空格或换行符
结合性决定了拥有相同优先级的运算符的执行顺序
优先级 | 运算类型 | 关联性 | 运算符 |
20 | n/a | ( … ) | |
19 | 从左到右 | … . … | |
从左到右 | … [ … ] | ||
new (带参数列表) | n/a | new … ( … ) | |
从左到右 | … ( … ) | ||
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 | 从左到右 | … , … |