1.一元运算符
运算符 | 名称 | 描述 |
+a | 求正 | a 的值本身。 |
-a | 求负 | a 的负值。 |
++a | 前递增 | a 的值加 1,然后返回 a 。 |
--a | 前递减 | a 的值减 1,然后返回 a 。 |
a++ | 后递增 | 返回 a ,然后将 a 的值加 1。 |
a-- | 后递减 | 返回 a ,然后将 a 的值减 1。 |
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 的值是否相等。如果值相等,则返回 true ,否则返回 false 。 |
a != b | 不相等 | 与 == 相反。 |
a === b | 全等 | 不进行强制类型转换,再比较 a 和 b 的类型和值是否全相等。如果类型和值全相等,则返回 true ,否则返回 false 。注意:如果 a 和 b 都是对象,则仅当它们引用同一对象时才返回 true ,否则返回 false 。 |
a !== b | 不全等 | 与 === 相反。 |
5.关系比较运算符
运算符 | 名称 | 描述 |
---|---|---|
a < b | 小于 | 先进行强制类型转换,再比较 a 和 b 的值。如果 a 小于 b ,则返回 true ,否则返回 false 。 |
a <= b | 小于或等于 | 先进行强制类型转换,再比较 a 和 b 的值。如果 a 小于或等于 b ,则返回 true ,否则返回 false 。 |
a > b | 大于 | 先进行强制类型转换,再比较 a 和 b 的值。如果 a 大于 b ,则返回 true ,否则返回 false 。 |
a >= b | 大于或等于 | 先进行强制类型转换,再比较 a 和 b 的值。如果 a 大于或等于 b ,则返回 true ,否则返回 false 。 |
6.布尔逻辑运算符
运算符 | 名称 | 描述 |
---|---|---|
!a | 逻辑非(NOT) | 如果 a 的计算结果为 false ,则返回 true ,否则返回 false 。 |
a && b | 逻辑与(AND) | 如果 a 的计算结果为 false ,则不计算 b 并返回 a 的返回值。如果 a 的计算结果为 true ,则继续计算 b 并返回 b 的返回值。 |
a || b | 逻辑或(OR) | 如果 a 的计算结果为 true ,则不计算 b 并返回 a 的返回值。如果 a 的计算结果为 false ,则继续计算 b 并返回 b 的返回值。 |
7.位运算符
运算符 | 名称 |
---|---|
~a | 按位非 NOT |
a & b | 按位与 AND |
a | b | 按位或 OR |
a ^ b | 按位异或 XOR |
a << b | 左移位 |
a >> b | 有符号右移位 |
a >>> b | 无符号右移位 |
8.三元条件运算符
运算符 | 描述 |
a ? b : c | 如果 a 的计算结果为 true ,则返回 b ,否则返回 c 。 |
9.分组运算符
运算符 | 描述 |
() | 分组作用 |
10.可选链运算符
运算符 | 描述 |
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 是不是函数。 |
11.Nullish运算符
运算符 | 描述 |
a ?? b | 如果 a 为 null 或 undefined ,则返回 b ,否则返回 a 。 |
a ??= b | 如果 a 为 null 或 undefined ,则将 b 赋值给 a ,否则返回 a 。 |
12.delete运算符
运算符 | 描述 |
delete o.a | 用于从对象中删除属性。 |
13.in运算符
运算符 | 描述 |
a in o | 如果指定属性在指定对象里,则返回 true ,否则返回 false 。 |
14.instanceof运算符
运算符 | 描述 |
o instanceof c | 测试是否 o 是 c 的实例,如果是,则返回 true ,否则返回 false 。 |
15.typeof运算符
运算符 | 描述 |
typeof a | 返回一个字符串,该字符串表示操作数的类型。 |
类型 | 描述 |
Number | "number" |
BigInt | "bigint" |
Boolean | "boolean" |
String | "string" |
Symbol | "symbol" |
Undefined | "undefined" |
Null | "object" |
Function(实现ECMA-262术语中的[[Call]];类也是函数) | "function" |
任何其它对象 | "object" |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/javascript/javascriptlang/1944.html