跳到主要内容

运算符

赋值运算符

赋值运算符=,使用方式如x=y

复合赋值运算符将赋值与运算符组合在一起,例如:a += b 等价于 a = a + b

其中的 += 即为复合赋值运算符

复合赋值运算符包括:+=-=*=/=%=<<=>>=>>>=&=|=^=

比较运算符

运算符说明
===如果两个操作数严格相等(对于不同类型的操作数认为是不相等的),则返回true。
!==如果两个操作数严格不相等(对于不同类型的操作数认为是不相等的),则返回true。
==如果两个操作数相等,则返回true。
!=如果两个操作数不相等,则返回true。
>如果左操作数大于右操作数,则返回true。
>=如果左操作数大于或等于右操作数,则返回true。
<如果左操作数小于右操作数,则返回true。
<=如果左操作数小于或等于右操作数,则返回true。

=====的区别:

// ==只比较目标的值相等
console.info(String(null == undefined)); // true
// ===比较目标的值和类型都相等
console.info(String(null === undefined)); // false

算术运算符

一元运算符包括:-+--++

二元运算符列举如下:

运算符说明
+加法
-减法
*乘法
/除法
%除法后余数

位运算符

运算符说明
a & b按位与:如果两个操作数的对应位都为1,则将这个位设置为1,否则设置为0。
a | b按位或:如果两个操作数的相应位中至少有一个为1,则将这个位设置为1,否则设置为0。
a ^ b按位异或:如果两个操作数的对应位不同,则将这个位设置为1,否则设置为0。
~ a按位非:反转操作数的位。
a << b左移:将a的二进制表示向左移b位。
a >> b算术右移:将a的二进制表示向右移b位,带符号扩展。
a >>> b逻辑右移:将a的二进制表示向右移b位,左边补0。

逻辑运算符

运算符说明
a && b逻辑与
a || b逻辑或
! a逻辑非

instanceof运算符

instanceof运算符用于在运行时检查一个对象是否是指定类或其子类的实例。

示例如下:

obj instanceof className

返回值类型为boolean。 如果objclassName类或其子类的实例,则返回值为true;否则,返回值为false

示例:

class Person {}
const person = new Person();
if ((person instanceof Person)) console.info("true") // true

class Animal {}
class Bird extends Animal {}
const bird = new Bird();
if (bird instanceof Animal) console.info("true") // true