JavaScript运算符列表说明

课后整理 2020-12-14

JavaScript定义了47个运算符,详细说明如表1所示。

各列说明如下:

表1  JavaScript运算符

运算符 说明 优先级 操作类型 操作个数 结果类型 结合性
++(双加号) 先递增或后递增运算 14 左值 1 数值 从右到左
--(双减号) 先递减或后递减运算 14 左值 1 数值 从右到左
-(减号) 数值取反 14 数值 1 数值 从右到左
+(加号) 转换为数值 14 数值 1 数值 从右到左
~(否定号) 按位取反 14 整数 1 整数 从右到左
!(叹号) 逻辑取反(逻辑非) 14 布尔值 1 布尔值 从右到左
delete 删除属性 14 左值 1 布尔值 从右到左
typeof 检测操作数类型 14 任意 1 字符串 从右到左
void 返回undefined值 14 任意 1 undefined 从右到左
*(星号) 乘法运算 13 数值 2 数值 从左到右
/(斜杠) 除法运算 13 数值 2 数值 从左到右
%(百分号) 求余运算(取模运算) 13 数值 2 数值 从左到右
+(加号) 加法运算 12 数值 2 数值 从左到右
-(加号) 减法运算 12 数值 2 数值 从左到右
+(加号) 连接字符串 12 字符串 2 字符串 从左到右
<<  左移位 11 整数 2 整数 从左到右
>>  有符号右移位 11 整数 2 整数 从左到右
>>>  无符号右移位 11 整数 2 整数 从左到右
小于(根据数字大小、字符编码表中顺序) 10 数值或字符串 2 布尔值 从左到右
<= 小于等于(根据数字大小、字符编码表中顺序) 10 数值或字符串 2 布尔值 从左到右
大于(根据数字大小、字符编码表中顺序) 10 数值或字符串 22 布尔值 从左到右
>= 大于等于(根据数字大小、字符编码表中顺序) 10 数值或字符串 2 布尔值 从左到右
instanceof 检测对象类型 10 对象 instanceof 构造函数 2 布尔值 从左到右
in 检测属性是否存在 10 字符串 in 对象 2 布尔值 从左到右
== 相等(值相等) 9 任意 2 布尔值 从左到右
!= 不相等(值不相等) 9 任意 2 布尔值 从左到右
=== 全等(值和类型都相等,或地址相等) 9 任意 2 布尔值 从左到右
!= = 不全等(值或类型不相等,或地址不相等) 9 任意 2 布尔值 从左到右
&(连字符) 按位与 8 整数 2 整数 从左到右
^(顶角符号) 按位异或 7 整数 2 整数 从左到右
|(竖线符号) 按位或 6 整数 2 整数 从左到右
&& 逻辑与 5 任意 2 任意 从左到右
|| 逻辑或 4 任意 2 任意 从左到右
?: 条件运算符 3 布尔值?任意:任意 3 任意 从右到左
=(等号) 赋值 2 左值=任意 2 任意 从右到左
*= 先乘后赋值 2 左值*=任意 2 任意 从右到左
/= 先除后赋值 2 左值/=任意 2 任意 从右到左
%= 先取余后赋值 2 左值%=任意 2 任意 从右到左
+= 先加后赋值 2 左值+=任意 2 任意 从右到左
-= 先减后赋值 2 左值-=任意 2 任意 从右到左
<<= 先左移后赋值 2 左值<<=任意 2 任意 从右到左
>>= 先有符号右移后赋值 2 左值>>=任意 2 任意 从右到左
>>>= 先无符号右移后赋值 2 左值>>>=任意 2 任意 从右到左
&= 先按位与后赋值 2 左值&=任意 2 任意 从右到左
^= 先按位异或后赋值 2 左值^=任意 2 任意 从右到左
|= 先按位或后赋值 2 左值|=任意 2 任意 从右到左
,(逗号) 多重计算,并返回第二个操作数的值 1 任意 2 任意 从左到右