javascript中关于运算符优先级的那些事

140 阅读1分钟
. [] () 字段访问、数组下标、函数调用以及表达式分组
++(一元运算符) --(一元运算符) -(负号) ~(位运算符) !(逻辑运算符) delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值
* / %(算术运算符) 乘法、除法、取模
运算符优先级排列顺序(从上向下优先级依次降低)

1.   + - (算术运算符) +(字符串连接) 加法、减法、字符串连接

2.    << >>(位运算符) >>> 移位
3.    < <= > >=(关系运算符) instanceof 小于、小于等于、大于、大于等于、instanceof
4.     == != === !==(关系运算符) 等于、不等于、严格相等、非严格相等
5.    &(位运算符) 按位与
6.    ^(位运算符) 按位异或
7.     |(位运算符) 按位或
8.    &&(逻辑运算符) 逻辑与
9.    ||(逻辑运算符) 逻辑或
10.   ?:(三目运算符) 条件/三目运算符
11.    = += -= *= /=(赋值运算符) 赋值、运算赋值
12.    ,(逗号运算符) 多重求值