跳到主要内容

运算符

JavaScript 拥有如下类型的运算符:

JavaScript 的运算符,包括了赋值、比较、算数、位运算、逻辑、三元,一元,等等。

赋值运算符(Assignment operators)

一个 赋值运算符 将它右边操作数的值赋给它左边的操作数。最简单的赋值运算符是等于(=),它将右边的操作数值赋给左边的操作数。

x = y;

解构,对于更复杂的赋值

var foo = ["one", "two", "three"];

// 使用解构
var [one, two, three] = foo;

比较运算符(Comparison operators)

==    相等
!= 不相等
=== 数相等且类型相同
!== 不相等或类型不同
> 大于
>= 大于或等于
< 小于
<= 小于或等于
// 3 == "3";

算数运算符(Arithmetic operators)

+
-
*
/

% 求余
++ 自增
-- 自减
- 一元负值符
+ 一元正值符
** 指数运算符
// 1 / 2;

位运算符(Bitwise operators)

位运算符将它的操作数视为 32 位元的二进制串(0 和 1 组成)而非十进制八进制或十六进制数。例如:十进制数字 9 用二进制表示为 1001,位运算符就是在这个二进制表示上执行运算,但是返回结果是标准的 JavaScript 数值。

按位移位运算符

<< 按位左移运算符。

>> 按位右移运算符。

>>> 按位无符号右移运算符。

按位二元运算符

& 按位与。

| 按位或。

^ 按位异或。

按位一元运算符

~ 按位非运算符。
// ~a;

逻辑运算符(Logical operators)

&& 逻辑与

|| 逻辑或

! 逻辑非

?? 空合并运算符。
// true && false;

条件(三元)运算符(Conditional operator)

let age = 18;

age >= 18 ? "adult" : "minor";

逗号运算符(Comma operator)

逗号(,)运算符对它的每个操作数从左到右求值,并返回最后一个操作数的值。

let x = 1;

x = (x++, x);

console.log(x); // Expected output: 2

x = (2, 3);

console.log(x); // Expected output: 3

一元运算符(Unary operators)

一元操作符仅对应一个操作数。

delete objectName.property;
typeof operand;
void expression;

关系运算符(Relational operator)

关系运算符对操作数进行比较,根据比较结果真或假,返回相应的布尔值。

propNameOrNumber in objectName;
objectName instanceof objectType;

参考链接

MDN 官网:https://developer.mozilla.org