JavaScript 运算符是执行一个或多个操作数(值)的特殊符号。例如,
2 + 3; // 5
这里,我们使用 +
运算符将操作数 2 和 3 相加。
JavaScript 运算符类型
以下是本教程中将介绍的各种 JavaScript 运算符列表
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 字符串运算符
- 杂项运算符
1. JavaScript 算术运算符
我们使用算术运算符执行算术计算,如加法、减法等。例如,
5 - 3; // 2
这里,我们使用 -
运算符从 5 中减去 3。
常用算术运算符
运算符 | 名称 | 示例 |
---|---|---|
+ |
加法 | 3 + 4 // 7 |
- |
减法 | 5 - 3 // 2 |
* |
乘法 | 2 * 3 // 6 |
/ |
除法 | 4 / 2 // 2 |
% |
余数 | 5 % 2 // 1 |
++ |
递增(加 1) | ++5 或 5++ // 6 |
-- |
递减(减 1) | --4 或 4-- // 3 |
** |
幂运算(乘方) | 4 ** 2 // 16 |
示例 1:JavaScript 中的算术运算符
let x = 5;
// addition operator
console.log("Addition: x + 3 = ", x + 3);
// subtraction operator
console.log("Subtraction: x - 3 =", x - 3);
// multiplication operator
console.log("Multiplication: x * 3 =", x * 3);
// division operator
console.log("Division: x / 3 =", x / 3);
// remainder operator
console.log("Remainder: x % 3 =", x % 3);
// increment operator
console.log("Increment: ++x =", ++x);
// decrement operator
console.log("Decrement: --x =", --x);
// exponentiation operator
console.log("Exponentiation: x ** 3 =", x ** 3);
输出
Addition: x + 3 = 8 Subtraction: x - 3 = 2 Multiplication: x * 3 = 15 Division: x / 3 = 1.6666666666666667 Remainder: x % 3 = 2 Increment: ++x = 6 Decrement: --x = 5 Exponentiation: x ** 3 = 125
注意:递增运算符 ++
将 1 加到操作数上。递减运算符 --
将操作数的值减 1。
如需了解更多信息,请访问 递增 ++ 和递减 -- 运算符。
2. JavaScript 赋值运算符
我们使用赋值运算符将值赋给变量。例如,
let x = 5;
这里,我们使用 =
运算符将值 5 赋给变量 x。
常用赋值运算符
运算符 | 名称 | 示例 |
---|---|---|
= |
赋值运算符 | a = 7; |
+= |
加法赋值 | a += 5; // a = a + 5 |
-= |
减法赋值 | a -= 2; // a = a - 2 |
*= |
乘法赋值 | a *= 3; // a = a * 3 |
/= |
除法赋值 | a /= 2; // a = a / 2 |
%= |
余数赋值 | a %= 2; // a = a % 2 |
**= |
乘方赋值 | a **= 2; // a = a**2 |
示例 2:JavaScript 中的赋值运算符
// assignment operator
let a = 7;
console.log("Assignment: a = 7, a =", a);
// addition assignment operator
a += 5; // a = a + 5
console.log("Addition Assignment: a += 5, a =", a);
// subtraction assignment operator
a -= 5; // a = a - 5
console.log("Subtraction Assignment: a -= 5, a =", a);
// multiplication assignment operator
a *= 2; // a = a * 2
console.log("Multiplication Assignment: a *= 2, a =", a);
// division assignment operator
a /= 2; // a = a / 2
console.log("Division Assignment: a /= 2, a =", a);
// remainder assignment operator
a %= 2; // a = a % 2
console.log("Remainder Assignment: a %= 2, a =", a);
// exponentiation assignment operator
a **= 2; // a = a**2
console.log("Exponentiation Assignment: a **= 7, a =", a);
输出
Assignment: a = 7, a = 7 Addition Assignment: a += 5, a = 12 Subtraction Assignment: a -= 5, a = 7 Multiplication Assignment: a *= 2, a = 14 Division Assignment: a /= 2, a = 7 Remainder Assignment: a %= 2, a = 1 Exponentiation Assignment: a **= 7, a = 1
3. JavaScript 比较运算符
我们使用比较运算符来比较两个值并返回一个布尔值(true
或 false
)。例如,
const a = 3, b = 2;
console.log(a > b);
// Output: true
在这里,我们使用 >
比较运算符来检查 a(值为 3)是否大于 b(值为 2)。
因为 3 大于 2,所以我们得到 true
作为输出。
注意:在上面的例子中,a > b
被称为 boolean 表达式,因为它求值后会得到一个 boolean 值。
常用比较运算符
运算符 | 含义 | 示例 |
---|---|---|
== |
等于 | 3 == 5 的结果是 false |
!= |
不等于 | 3 != 4 的结果是 true |
> |
大于 | 4 > 4 的结果是 false |
< |
小于 | 3 < 3 的结果是 false |
>= |
大于或等于 | 4 >= 4 的结果是 true |
<= |
小于或等于 | 3 <= 3 的结果是 true |
=== |
严格等于 | 3 === "3" 的结果是 false |
!== |
严格不等于 | 3 !== "3" 的结果是 true |
示例 3:JavaScript 中的比较运算符
// equal to operator
console.log("Equal to: 2 == 2 is", 2 == 2);
// not equal operator
console.log("Not equal to: 3 != 3 is", 3 != 3);
// strictly equal to operator
console.log("Strictly equal to: 2 === '2' is", 2 === '2');
// strictly not equal to operator
console.log("Strictly not equal to: 2 !== '2' is", 2 !== '2');
// greater than operator
console.log("Greater than: 3 > 3 is", 3 > 3);
// less than operator
console.log("Less than: 2 > 2 is", 2 > 2);
// greater than or equal to operator
console.log("Greater than or equal to: 3 >= 3 is", 3 >= 3);
// less than or equal to operator
console.log("Less than or equal to: 2 <= 2 is", 2 <= 2);
输出
Equal to: 2 == 2 is true Not equal to: 3 != 3 is false Strictly equal to: 2 === '2' is false Strictly not equal to: 2 !== '2' is true Greater than: 3 > 3 is false Less than: 2 > 2 is false Greater than or equal to: 3 >= 3 is true Less than or equal to: 2 <= 2 is true
相等性运算符 (==
和 !=
) 在比较其值之前会转换两个操作数到相同的类型。例如,
console.log(3 == "3"); // true
这里,我们使用 ==
运算符比较数字 3 和字符串 3
。
默认情况下,JavaScript 将字符串 3
转换为数字 3 并比较值。
然而,严格相等性运算符 (===
和 !==
) 在比较其值之前不会转换操作数类型。例如,
console.log(4 === "4"); // false
这里,JavaScript 在比较值之前没有将字符串 4
转换为数字 4。
因此,结果是 false
,因为数字 4 不等于字符串 4
。
4. JavaScript 逻辑运算符
我们使用逻辑运算符对布尔表达式执行逻辑运算。例如,
const x = 5, y = 3;
console.log((x < 6) && (y < 5));
// Output: true
这里,&&
是逻辑运算符 AND。由于 x < 6
和 y < 5
都为 true
,因此组合结果为 true
。
常用逻辑运算符
运算符 | 语法 | 描述 |
---|---|---|
&& (逻辑 AND) |
expression1 && expression2 |
仅当 expression1 和 expression2 都为 true 时为 true |
|| (逻辑 OR) |
expression1 || expression2 |
当 expression1 或 expression2 中至少有一个为 true 时为 true |
! (逻辑 NOT) |
!expression |
如果 expression 为 true 则为 false ,反之亦然 |
示例 4:JavaScript 中的逻辑运算符
let x = 3;
// logical AND
console.log((x < 5) && (x > 0)); // true
console.log((x < 5) && (x > 6)); // false
// logical OR
console.log((x > 2) || (x > 5)); // true
console.log((x > 3) || (x < 0)); // false
// logical NOT
console.log(!(x == 3)); // false
console.log(!(x < 2)); // true
注意:我们在决策和循环中使用比较和逻辑运算符。您将在后续教程中详细了解它们。
更多关于 JavaScript 运算符
我们使用位运算符对整数执行二进制运算。
运算符 | 描述 | 示例 |
---|---|---|
& | 按位与 | 5 & 3 // 1 |
| | 按位或 | 5 | 3 // 7 |
^ | 按位异或 | 5 ^ 3 // 6 |
~ | 按位非 | ~5 // -6 |
<< | 左移 | 5 << 1 // 10 |
>> | 符号扩展右移 | -10 >> 1 // -5 |
>>> | 零填充右移 | -10 >>> 1 // 2147483643 |
注意:我们在日常编程中很少使用位运算符。如果您感兴趣,请访问 JavaScript 位运算符 了解更多。
在 JavaScript 中,您还可以使用 +
运算符连接(合并)两个字符串。例如,
let str1 = "Hel", str2 = "lo";
console.log(str1 + str2);
// Output: Hello
这里,我们使用 +
运算符连接 str1 和 str2。
JavaScript 除了我们上面列出的运算符外,还有许多其他运算符。您将在后续教程中详细了解它们。
运算符 | 描述 | 示例 |
---|---|---|
, |
逗号:评估多个操作数并返回最后一个操作数的值。 | let a = (1, 3, 4); // 4 |
?: |
三元:根据条件返回值。 | (50 > 40) ? "pass" : "fail"; // "pass" |
typeof |
返回变量的数据类型。 | typeof 3; // "number" |
instanceof |
如果指定对象是指定类的有效对象,则返回 true 。 |
objectX instanceof ClassX |
void |
丢弃任何表达式的返回值。 | void(x) // undefined |
另请阅读