优先级表[20(高)=> 0(低)]
| 优先级 |
运算类型 |
关联性 |
运算符 |
| 20 |
圆括号 |
n/a(不相关) |
( … ) |
| 19 |
成员访问 |
从左到右 |
… . … |
| 19 |
需计算的成员访问 |
从左到右 |
… [ … ] |
| 19 |
new (带参数列表) |
n/a |
new … ( … ) |
| 19 |
函数调用 |
从左到右 |
… ( … ) |
| 19 |
可选链(Optional chaining) |
从左到右 |
?. |
| 18 |
new (无参数列表) |
从右到左 |
new … |
| 17 |
后置递增(运算符在后) |
n/a |
…++ |
| 17 |
后置递减(运算符在后) |
n/a |
…-- |
| 16 |
逻辑非 |
从右到左 |
! … |
| 16 |
按位非 |
从右到左 |
~ … |
| 16 |
一元加法 |
从右到左 |
+ … |
| 16 |
一元减法 |
从右到左 |
- … |
| 16 |
前置递增 |
从右到左 |
++ … |
| 16 |
前置递减 |
从右到左 |
-- … |
| 16 |
typeof |
从右到左 |
typeof … |
| 16 |
void |
从右到左 |
void … |
| 16 |
delete |
从右到左 |
delete … |
| 16 |
await |
从右到左 |
await … |
| 15 |
幂 |
从右到左 |
… ** … |
| 14 |
乘法 |
从左到右 |
… * … |
| 14 |
除法 |
从左到右 |
… / … |
| 14 |
取模 |
从左到右 |
… % … |
| 13 |
加法 |
从左到右 |
… + … |
| 13 |
减法 |
从左到右 |
… - … |
| 12 |
按位左移 |
从左到右 |
… << … |
| 12 |
按位右移 |
从左到右 |
… >> … |
| 12 |
无符号右移 |
从左到右 |
… >>> … |
| 11 |
小于 |
从左到右 |
… < … |
| 11 |
小于等于 |
从左到右 |
… <= … |
| 11 |
大于 |
从左到右 |
… > … |
| 11 |
大于等于 |
从左到右 |
… >= … |
| 11 |
in |
从左到右 |
… in … |
| 11 |
instanceof |
从左到右 |
… instanceof … |
| 10 |
等号 |
从左到右 |
… == … |
| 10 |
非等号 |
从左到右 |
… != … |
| 10 |
全等号 |
从左到右 |
… === … |
| 10 |
非全等号 |
从左到右 |
… !== … |
| 8 |
按位异或 |
从左到右 |
… ^ … |
| 7 |
按位或 |
从左到右 |
… | … |
| 6 |
逻辑与 |
从左到右 |
… && … |
| 5 |
逻辑或 |
从左到右 |
… || … |
| 4 |
条件运算符 |
从右到左 |
… ? … : … |
| 3 |
赋值 |
从右到左 |
… = … |
| 3 |
赋值 |
从右到左 |
… += … |
| 3 |
赋值 |
从右到左 |
… -= … |
| 3 |
赋值 |
从右到左 |
… *= … |
| 3 |
赋值 |
从右到左 |
… /= … |
| 3 |
赋值 |
从右到左 |
… %= … |
| 3 |
赋值 |
从右到左 |
… <<= … |
| 3 |
赋值 |
从右到左 |
… >>= … |
| 3 |
赋值 |
从右到左 |
… >>>= … |
| 3 |
赋值 |
从右到左 |
… &= … |
| 3 |
赋值 |
从右到左 |
… ^= … |
| 3 |
赋值 |
从右到左 |
… = … |
| 2 |
yield |
从右到左 |
yield … |
| 2 |
yield* |
从右到左 |
yield* … |
| 1 |
展开运算符 |
n/a |
... … |
| 0 |
逗号 |
从左到右 |
… , … |