1.一元运算符
| 运算符 | 名称 |
+a | 求正 |
-a | 求负 |
++a | 前递增 |
--a | 前递减 |
a++ | 后递增 |
a-- | 后递减 |
2.算术运算符
| 运算符 | 名称 |
a + b | 加法,字符串连接。 |
a - b | 减法 |
a * b | 乘法 |
a / b | 除法 |
a % b | 求余 |
a ** b | 求幂 |
3.赋值运算符
| 运算符 | 名称 |
a = b | 赋值 |
a += b | 加法赋值,字符串连接赋值。 |
a -= b | 减法赋值 |
a *= b | 乘法赋值 |
a /= b | 除法赋值 |
a %= b | 求余赋值 |
a **= b | 求幂赋值 |
a &&= b | 逻辑与赋值 |
a ||= b | 逻辑或赋值 |
a &= b | 按位与赋值 |
a |= b | 按位或赋值 |
a ^= b | 按位异或赋值 |
a <<= b | 左移位赋值 |
a >>= b | 有符号右移位赋值 |
a >>>= b | 无符号右移位赋值 |
4.比较运算符
| 运算符 | 名称 |
a == b | 等于 |
a != b | 不等于 |
a === b | 全等于 |
a !== b | 不全等于 |
a < b | 小于 |
a <= b | 小于或等于 |
a > b | 大于 |
a >= b | 大于或等于 |
5.逻辑运算符
| 运算符 | 名称 |
!a | 逻辑非(NOT) |
a && b | 逻辑与(AND)(短路) |
a || b | 逻辑或(OR)(短路) |
6.位运算符
| 运算符 | 名称 |
~a | 按位非(NOT) |
a & b | 按位与(AND) |
a | b | 按位或(OR) |
a ^ b | 按位异或(XOR) |
a << b | 左移位 |
a >> b | 有符号右移位 |
a >>> b | 无符号右移位 |
7.三元条件运算符
| 运算符 | 名称 |
a ? b : c | 三元条件运算符 |
8.delete运算符
| 运算符 | 描述 |
delete o.a | 用于从对象中删除属性。 |
9.in运算符
| 运算符 | 描述 |
a in o | 如果指定属性在指定对象里,则返回 true,否则返回 false。 |
10.instanceof运算符
| 运算符 | 描述 |
o instanceof C | 测试是否 o 是 C 的实例,如果是,则返回 true,否则返回 false。 |
11.typeof运算符
| 运算符 | 描述 |
typeof a | 返回一个字符串,该字符串表示操作数的类型。 |
12.?.运算符
| 运算符 | 描述 |
o?.a | 如果 o 为 null 或 undefined,则不计算 a 并返回 undefined,否则 o?.a 的结果与 o.a 的结果相同。 |
o?.[a] | 如果 o 为 null 或 undefined,则不计算 a 并返回 undefined,否则 o?.[a] 的结果与 o[a] 的结果相同。 |
f?.(a) | 如果 f 为 null 或 undefined,则不计算 a 并返回 undefined,否则 f?.(a) 的结果与 f(a) 的结果相同。注意:?. 不会检测 f 是不是函数。 |
13.??和??=运算符
| 运算符 | 描述 |
a ?? b | 如果 a 为 null 或 undefined,则返回 b,否则返回 a。 |
a ??= b | 如果 a 为 null 或 undefined,则将 b 赋值给 a,否则 a 还是原来的值。 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/javascript/javascriptlang/1944.html