JavaScript 运算符
例子
为变量赋值并将它们相加:
let x = 5; // 将值 5 赋给 x
let y = 2; // 将值 2 赋给 y
让 z = x + y; // 将值 7 分配给 z (5 + 2)
亲自尝试 »
这 任务 操作员 (=
) 给变量分配一个值。
这 添加 操作员 (+
)添加数字:
这 乘法 操作员 (*
) 将数字相乘。
JavaScript 算术运算符
算术运算符用于对数字进行算术运算:
操作员 | 描述 |
---|---|
+ | 添加 |
- | 减法 |
* | 乘法 |
** | 指数运算(ES2016) |
/ | 分配 |
% | 模数(除法余数) |
++ | 增量 |
-- | 减少 |
算术运算符的完整描述见 JS 算术 章节。
JavaScript 赋值运算符
赋值运算符将值赋给 JavaScript 变量。
操作员 | 例子 | 与...一样 |
---|---|---|
= | x = y | x = y |
+= | x += y | x = x + y |
-= | x -= y | x = x - y |
*= | x *= y | x = x * y |
/= | x /= y | x = x / y |
%= | x %= y | x = x % y |
**= | x**= y | x = x ** y |
这 加法赋值 操作员 (+=
) 为变量添加一个值。
赋值运算符的完整描述见 JS 作业 章节。
JavaScript 字符串运算符
这 +
运算符还可用于添加(连接)字符串。
这 +=
赋值运算符还可用于添加(连接)字符串:
当用于字符串时,+ 运算符称为连接运算符。
添加字符串和数字
将两个数字相加将返回总和,但将一个数字和一个字符串相加将返回一个字符串:
如果将一个数字和一个字符串相加,结果将是一个字符串!
JavaScript 比较运算符
操作员 | 描述 |
---|---|
== | 等于 |
=== | 相等值和相等类型 |
!= | 不等于 |
!== | 值不相等或类型不相等 |
> | 比...更棒 |
< | 少于 |
>= | 大于或等于 |
<= | 小于或等于 |
? | 三元运算符 |
比较运算符的完整描述见 JS 比较 章节。
JavaScript 逻辑运算符
操作员 | 描述 |
---|---|
&& | 逻辑和 |
|| | 逻辑或 |
! | 逻辑非 |
逻辑运算符的完整描述见 JS 比较 章节。
JavaScript 类型运算符
操作员 | 描述 |
---|---|
类型 | 返回变量的类型 |
实例 | 如果对象是对象类型的实例,则返回 true |
类型运算符的完整描述见 JS 类型转换 章节。
JavaScript 按位运算符
位运算符针对 32 位数字进行操作。
运算中的任何数字操作数都将转换为 32 位数字。结果将转换回 JavaScript 数字。
操作员 | 描述 | 例子 | 与...一样 | 结果 | 十进制 |
---|---|---|---|---|---|
& | 和 | 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | 或者 | 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | 不是 | ~ 5 | ~0101 | 1010 | 10 |
^ | 异或 | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | 左移 | 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | 右移 | 5 >> 1 | 0101 >> 1 | 0010 | 2 |
>>> | 无符号右移 | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 |
上面的示例使用了 4 位无符号数。但 JavaScript 使用 32 位有符号数。
因此,在 JavaScript 中,~5 不会返回 10。它将返回 -6。
~0000000000000000000000000000000101 将返回 111111111111111111111111111111010
位运算符的完整描述见 JS 按位 章节。