JavaScript 运算符用于算数表达式、比较表达式、逻辑表达式、、赋值表达式等,以下是整理的一些 JavaScript 中常用的运算符,表中运算符按优先级排序。
| 运算符 | 操作简述 | 结合性 | 个数 | 类型 |
|---|---|---|---|---|
| ++ | 前/后增量 | 从右至左 | 1 | lval→num |
| -- | 前/后减量 | 从右至左 | 1 | lval→num |
| - | 求反 | 从右至左 | 1 | num→num |
| + | 转换为数字 | 从右至左 | 1 | num→num |
| ~ | 按位求反 | 从右至左 | 1 | int→int |
| ! | 逻辑非 | 从右至左 | 1 | bool→bool |
| delete | 删除属性 | 从右至左 | 1 | lval→bool |
| typeof | 检测操作数类型 | 从右至左 | 1 | any→str |
| void | 返回 undefined 值 | 从右至左 | 1 | any→undef |
| *、/、% | 乘、除、取余 | 从左至右 | 2 | num,num→num |
| +、- | 加、减 | 从左至右 | 2 | num,num→num |
| + | 字符串连接 | 从左至右 | 2 | str,str→str |
| << | 左移位 | 从左至右 | 2 | int,int→int |
| >> | 有符号右移 | 从左至右 | 2 | int,int→int |
| >>> | 无符号右移 | 从左至右 | 2 | int,int→int |
| <、<=、>、>= | 比较数字顺序 | 从左至右 | 2 | num,num→bool |
| <、<=、>、>= | 比较在字母表中的顺序 | 从左至右 | 2 | str,str→bool |
| instanceof | 测试对象类 | 从左至右 | 2 | obj,func→bool |
| in | 测试属性是否存在 | 从左至右 | 2 | str,obj→bool |
| == | 判断相等 | 从左至右 | 2 | any,any→bool |
| != | 判断不相等 | 从左至右 | 2 | any,any→bool |
| === | 判断恒等 | 从左至右 | 2 | any,any→bool |
| !== | 判断非恒等 | 从左至右 | 2 | any,any→bool |
| & | 按位与 | 从左至右 | 2 | int,int→int |
| ^ | 按位异或 | 从左至右 | 2 | int,int→int |
| | | 按位或 | 从左至右 | 2 | int,int→int |
| && | 逻辑与 | 从左至右 | 2 | any,any→any |
| || | 逻辑或 | 从左至右 | 2 | any,any→any |
| ?: | 条件运算符 | 从右至左 | 3 | bool,any,any→any |
| = | 变量赋值或对象属性赋值 | 从右至左 | 2 | lval,any→any |
| *=、/=、%=、+=、-=、&=、^=、|=、<<=、>>=、>>>= | 运算且赋值 | 从右至左 | 2 | lval,any→any |
| , | 忽略第一个操作数,返回第二个操作数 | 从左至右 | 2 | any,any→any |
参考文档:《JavaScript 权威指南》












