js运算符优先级

最近在系统的重新学习js的知识,看到了优先级的相关资料,以前都没有注意到过的小细节,今天记录一下,如果以后有机会遇到相关的坑也方便找一下。

优先级 运算类型 关联性 运算符
20 圆括号 n/a ( … )
19 成员访问 从左到右 … . …
19 需计算的成员访问 从左到右 … [ … ]
19 new (带参数列表) n/a … . …
18 new (无参数列表) 从右到左 new …
17 后置递增(运算符在后) n/a … ++
17 后置递减(运算符在后) n/a … --
16 逻辑非 从右到左 ! …
16 按位非 从右到左 ~ …
16 一元加法 从右到左 + …
16 一元减法 从右到左 - …
16 前置递增 从右到左 ++ …
16 前置递减 从右到左 -- …
16 typeof 从右到左 typeof …
16 void 从右到左 void …
16 delete 从右到左 delete …
15 从右到左 … ** …
14 乘法 从左到由 … * …
14 除法 从左到右 … / …
14 取模 从左到右 … % …
13 加法 从左到右 … + …
13 减法 从左到右 … - …
12 按位左移 从左到右 … << …
12 按位右移 从左到右 … >> …
12 无符号右移 从左到右 … >>> …
11 小于 从左到右 … < …
11 小于等于 从左到右 … <= …
11 大于 从左到右 … > …
11 大于等于 从左到右 … >= …
11 in 从左到右 … in …
11 instanceof 从左到右 … instanceof …
10 等号 从左到右 … == …
10 非等号 从左到右 … != …
10 全等号 从左到右 … === …
10 非全等号 从左到右 … !== …
9 按位与 从左到右 … & …
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 逗号 从左到右 … , …

你可能感兴趣的:(js运算符优先级)