1.分隔符
分隔符 | 名称 | 描述 |
; | 分号 | 语句分隔作用 |
2.一元运算符
运算符 | 名称 | 描述 |
+a | 取正 | a 的值本身。 |
-a | 取负 | a 的负值。 |
++a | 前递增 | a 的值加1,然后返回 a。 |
--a | 前递减 | a 的值减1, 然后返回 a。 |
a++ | 后递增 | 返回 a,然后将 a 的值加1。 |
a-- | 后递减 | 返回 a,然后将 a 的值减1。 |
delete 对象名.属性名 delete 数组名[索引] | ———— | 删除一个对象的属性或者一个数组中某一个索引对应的值。 |
typeof 操作数 | ———— | 返回一个表示 操作数 类型的字符串值。 |
void 表达式 | ———— | 表明一个运算没有返回值。 |
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次方 的值。 |
4.赋值运算符
运算符 | 名称 |
---|---|
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 | 无符号右移位赋值 |
5.关系比较运算符
运算符 | 名称 | 描述 |
---|---|---|
a == b | 等于 | 先进行强制类型转换,再比较 a 和 b 的值是否相等。 |
a === b | 等值等型 | 不进行强制类型转换,再比较 a 和 b 的类型和值是否全相等,需类型和值同时都相等,即返回 true,否则 false。 |
a != b | 不等于 | 先进行强制类型转换,再比较 a 和 b 的值是否不相等。 |
a !== b | 不等值或不等型 | 不进行强制类型转换,再比较 a 和 b 的类型和值是否不相等,只需要类型和值至少其一不相等,即返回 true,否则 false。 |
a < b | 小于 | 如果 a 小于 b,即返回 true ,否则返回 false 。 |
a <= b | 小于或等于 | 如果 a 小于或等于 b,即返回 true ,否则返回 false 。 |
a > b | 大于 | 如果 a 大于 b,即返回 true ,否则返回 false 。 |
a >= b | 大于或等于 | 如果 a 大于或等于 b,即返回 true ,否则返回 false 。 |
属性名 in 对象名 数组索引 in 数组名 | ———— | 如果所指定的对象中存在所指定的属性,则返回 true ,否则 false 。如果所指定的数组中存在所指定的索引,则返回 true ,否则 false 。 |
对象名 instanceof 对象类型 | ———— | 如果所判别的对象确实是所指定的类型,则返回 true ,否则 false 。 |
6.布尔逻辑运算符
运算符 | 名称 | 描述 |
---|---|---|
!a | 逻辑非 NOT | 如果 a 的计算结果为 false ,则 !a 的结果为 true ,否则,结果为 false 。 |
a && b | 逻辑与 AND | 如果 a 和 b 的计算结果都为 true ,则 a & b 的结果为 true ,否则,结果为 false 。 |
a || b | 逻辑或 OR | 如果 a 或 b 的计算结果为 true ,则 a | b 的结果为 true 。 否则,结果为 false 。 |
7.位运算符
运算符 | 名称 | 示例 | 结果 |
---|---|---|---|
a ~ b | 按位非 NOT | ~ 5 | -6 |
a & b | 按位与 AND | 5 & 1 | 1 |
a | b | 按位或 OR | 5 | 1 | 5 |
a ^ b | 按位异或 XOR | 5 ^ 1 | 4 |
a << b | 左移位 | 5 << 1 | 10 |
a >> b | 有符号右移位 | 5 >> 1 | 2 |
a >>> b | 无符号右移位 | 5 >>> 1 | 2 |
8.字符串连接符
运算符 | 名称 |
+ | 字符串连接 |
9.三元条件运算符
运算符 | 描述 |
(expr1) ? (expr2) : (expr3) | 在 expr1 为 true 时,返回 expr2,否则返回 expr3。 |
10.Null运算符
运算符 | 名称 | 描述 |
a?.x | 可选链 | 如果 a 为 null 或 undefined,则返回 undefined,否则 a?.x 的结果与 a.x 的结果相同。 |
a ?? b | Null合并 | 如果 a 为 null 或 undefined,则返回 b,否则返回 a。 |
a ??= b | Null合并赋值 | 如果 a 为 null 或 undefined,则将 b 赋值给 a,否则返回 a。 |
11.逗号运算符
示例 | 描述 |
let num1 = 1, num2 = 2, num3 = 3; | 用来在一条语句中同时声明多个变量 |
let num = (5, 1, 4, 8, 0); // num 的值为 0 | 对它的每个操作数从左到右求值,并返回最后一个操作数的值。 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/javascript/javascriptlang/1944.html