1.3JavaScript语言的运算符(Operator)

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相等先进行强制类型转换,再比较 ab 的值是否相等。如果值相等,则返回 true,否则返回 false
a != b不相等== 相反。
a === b全等不进行强制类型转换,再比较 ab 的类型和值是否全相等。如果类型和值全相等,则返回 true,否则返回 false
注意:如果 ab 都是对象,则仅当它们引用同一对象时才返回 true,否则返回 false
a !== b不全等=== 相反。

5.关系比较运算符

运算符名称描述
a < b小于先进行强制类型转换,再比较 ab 的值。如果 a 小于 b,则返回 true,否则返回 false
a <= b小于或等于先进行强制类型转换,再比较 ab 的值。如果 a 小于或等于 b,则返回 true,否则返回 false
a > b大于先进行强制类型转换,再比较 ab 的值。如果 a 大于 b,则返回 true,否则返回 false
a >= b大于或等于先进行强制类型转换,再比较 ab 的值。如果 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 为 nullundefined,则不计算 a 并返回 undefined,否则 o?.a 的结果与 o.a 的结果相同。
o?.[a]如果 o 为 nullundefined,则不计算 a 并返回 undefined,否则 o?.[a] 的结果与 o[a] 的结果相同。
f?.(a)如果 f 为 nullundefined,则不计算 a 并返回 undefined,否则 f?.(a) 的结果与 f(a) 的结果相同。注意:?. 不会检测 f 是不是函数。

11.Nullish运算符

运算符描述
a ?? b如果 anullundefined,则返回 b,否则返回 a
a ??= b如果 anullundefined,则将 b 赋值给 a,否则返回 a

12.delete运算符

运算符描述
delete o.a
delete o[a]
用于从对象中删除属性。

13.in运算符

运算符描述
a in o如果指定属性在指定对象里,则返回 true,否则返回 false

14.instanceof运算符

运算符描述
o instanceof c测试是否 oc 的实例,如果是,则返回 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

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2020年8月2日 02:21
下一篇 2020年8月4日 02:23

相关推荐

发表回复

登录后才能评论