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

相关推荐

  • 2.5JavaScript类型之数组(Array)

    数组的索引是整数类型。 数组的索引是有序的。 数组的元素可以是任何 JavaScript 数据类型,且不必都是同一个类型。 数组的元素的个数(长度)可以动态改变,可以添加、更改、删除元素。 数组的元素可以重复。 1.索引数组 注意:最后一个元素后面允许有逗号 ,,这样要添加一个新元素时很方便。 2.稀疏(Sparse)…

  • 1.4JavaScript语言的类型(Type)

    JavaScript 语言的类型分为:原始(primitive)类型 和 引用(reference)类型。 原始类型:数值类型、大整数类型、布尔类型、字符串类型、符号类型、Undefined类型、Null类型。 引用类型:对象类型、函数类型、数组类型、映射类型、集合类型。 1.数值(Number)类型 类型 范围 包装…

  • 1.5JavaScript语言的变量(Variable)

    1.变量声明 变量在赋值后可以通过重新赋值更改其值。 2.变量作用域 3.变量引用表达式

发表回复

登录后才能评论