JavaScript 运算符



什么是运算符?

在 JavaScript 中,运算符是一个符号,它对一个或多个操作数(例如变量或值)执行操作并返回结果。让我们来看一个简单的表达式 4 + 5 等于 9。这里 4 和 5 称为操作数,而 ‘+’ 称为运算符

JavaScript 支持以下类型的运算符。

  • 算术运算符
  • 比较运算符
  • 逻辑(或关系)运算符
  • 位运算符
  • 赋值运算符
  • 其他运算符

让我们逐一看看所有运算符。

JavaScript 算术运算符

JavaScript 算术运算符用于对数字执行数学计算,例如加法、乘法、减法、除法等。JavaScript 支持以下算术运算符:

假设变量 x 为 10,变量 y 为 20,则:

运算符 描述 示例
+ (加法) 将两个操作数相加。 x + y 将得到 30。
- (减法) 从第一个操作数中减去第二个操作数。 x - y 将得到 -10。
* (乘法) 将两个操作数相乘。 x * y 将得到 200。
/ (除法) 将分子除以分母。 y / x 将得到 2。
% (模) 输出整数除法的余数。 y % x 将得到 0
++ (增量) 将整数的值增加一。 x++ 将得到 11。
-- (减量) 将整数的值减少一。 x-- 将得到 9。
加法运算符 (+) 既适用于数字也适用于字符串。例如,"a" + 10 将得到 "a10"。

JavaScript 比较运算符

JavaScript 比较运算符比较两个值并返回布尔结果(truefalse)。JavaScript 支持以下比较运算符:

假设变量 x 为 10,变量 y 为 20,则:

运算符 描述 示例
== (等于) 检查两个操作数的值是否相等。如果是,则条件变为 true。 (x == y) 为 false。
!= (不等于) 检查两个操作数的值是否相等。如果值不相等,则条件变为 true。 (x != y) 为 true。
=== (严格等于) 它检查变量的值和数据类型是否相等。如果是,则条件变为 true。 (x === y) 为 false。
!== (严格不等于) 它检查变量的值和数据类型是否相等。如果值不相等,则条件为真。 (x !== y) 为真。
> (大于) 检查左操作数的值是否大于右操作数的值。如果是,则条件为真。 (x > y) 为假。
< (小于) 检查左操作数的值是否小于右操作数的值。如果是,则条件为真。 (x < y) 为真。
>= (大于或等于) 检查左操作数的值是否大于或等于右操作数的值。如果是,则条件为真。 (x >= y) 为假。
<= (小于或等于) 检查左操作数的值是否小于或等于右操作数的值。如果是,则条件为真。 (x <= y) 为真。

JavaScript 逻辑运算符

逻辑运算符通常用于对布尔值执行逻辑运算。但是逻辑运算符可以应用于任何类型的值,而不仅仅是布尔值。

JavaScript 支持以下逻辑运算符:

假设x的值为 10,y的值为 0。

运算符 描述 示例
&& (逻辑与) 如果两个操作数都不为零,则条件为真。 (x && y) 为假
|| (逻辑或) 如果两个操作数中任何一个不为零,则条件为真。 (x || y) 为真。
! (逻辑非) 反转其操作数的逻辑状态。如果一个条件为真,则逻辑非运算符将使其为假。 !x 为假。

JavaScript 位运算符

JavaScript 位运算符用于对整数执行位级运算。JavaScript 支持以下七种位运算符:

假设变量 x 为 2,变量 y 为 3,则:

运算符 描述 示例
& (按位与) 它对每个整数参数的每一位执行布尔 AND 运算。 (x & y) 为 2。
| (按位或) 它对每个整数参数的每一位执行布尔 OR 运算。 (x | y) 为 3。
^ (按位异或) 它对每个整数参数的每一位执行布尔异或运算。异或意味着操作数一或操作数二为真,但两者不能同时为真。 (x ^ y) 为 1。
~ (按位非) 它是一个一元运算符,通过反转操作数中的所有位来操作。 (~y) 为 -4。
<< (左移) 它将第一个操作数中的所有位向左移动第二个操作数中指定的位置数。新的位用零填充。将值左移一位相当于将其乘以 2,左移两位相当于将其乘以 4,依此类推。 (x << 1) 为 4。
>> (右移) 二进制右移运算符。左操作数的值向右移动由右操作数指定的位数。 (x >> 1) 为 1。
>>> (用零填充的右移) 此运算符类似于 >> 运算符,不同之处在于左侧移入的位始终为零。 (x >>> 1) 为 1。

JavaScript 赋值运算符

在 JavaScript 中,赋值运算符用于向变量赋值。JavaScript 支持以下赋值运算符:

运算符 描述 示例
= (简单赋值) 将值从右操作数赋值给左操作数 z = x + y 将 x + y 的值赋给 z
+= (加法赋值) 它将右操作数添加到左操作数,并将结果赋给左操作数。 z += x 等价于 z = z + x
-= (减法赋值) 它从左操作数中减去右操作数,并将结果赋给左操作数。 z -= x 等价于 z = z - x
*= (乘法赋值) 它将右操作数乘以左操作数,并将结果赋给左操作数。 z *= x 等价于 z = z * x
/= (除法赋值) 它将左操作数除以右操作数,并将结果赋给左操作数。 z /= x 等价于 z = z / x
%= (取模赋值) 它使用两个操作数进行取模运算,并将结果赋给左操作数。 z %= x 等价于 z = z % x
位运算符也应用相同的逻辑,因此它们将变为 <<=、>>=、>>>=、&=、|= 和 ^=。

JavaScript 其他运算符

JavaScript 还支持一些其他运算符。这些运算符包括条件运算符 (? :)、typeof 运算符、delete 运算符等。

在下表中,我们给出了 JavaScript 其他运算符及其说明。

运算符 描述
? : (条件) 如果条件为真?则值为 X:否则值为 Y
typeof 它返回操作数的数据类型。
?? (空值合并运算符) 当其左侧操作数为 null 或 undefined 时,它返回其右侧操作数;否则,返回其左侧操作数。
delete 它从对象中删除属性。
, (逗号) 它评估其操作数(从左到右),并返回最后一个操作数的值。
() (分组) 它允许更改运算符的优先级。
yield 它用于暂停和恢复生成器函数。
… (扩展) 它用于扩展可迭代对象,例如数组或字符串。
** (指数) 将左操作数提高到右操作数的幂
广告
© . All rights reserved.