速查表
运算符优先级
JavaScript 运算符优先级与结合方向。所有内容均可搜索,点击复制按钮可直接复制对应值。
JavaScript 运算符优先级
数字越大优先级越高;同一优先级按结合方向计算。
| 优先级 | 类别 | 运算符 | 结合方向 | 复制 |
|---|---|---|---|---|
18 | 成员访问 | obj.prop / obj[prop] / obj?.prop | 从左到右 | |
17 | new(带参数) | new Foo() | 从右到左 | |
16 | 函数调用 | fn() | 从左到右 | |
15 | new(无参数) | new Foo | 从右到左 | |
14 | 后缀递增/递减 | x++ / x-- | 从左到右 | |
13 | 逻辑非、按位非、正负号 | !x / ~x / +x / -x | 从右到左 | |
12 | 幂 | x ** y | 从右到左 | |
11 | 乘除余 | * / % | 从左到右 | |
10 | 加减 | + - | 从左到右 | |
9 | 移位 | << >> >>> | 从左到右 | |
8 | 关系 | < <= > >= in instanceof | 从左到右 | |
7 | 相等 | == != === !== | 从左到右 | |
6 | 按位与 | & | 从左到右 | |
5 | 按位异或 | ^ | 从左到右 | |
4 | 按位或 | | | 从左到右 | |
3 | 逻辑与 | && | 从左到右 | |
2 | 逻辑或 / 空值合并 | || ?? | 从左到右 | |
1 | 条件 | condition ? a : b | 从右到左 | |
0 | 赋值 | = += -= **= ... | 从右到左 | |
0 | 逗号 | a, b | 从左到右 |