JavaScript 运算符

JavaScript 运算符是执行一个或多个操作数(值)的特殊符号。例如,

2 + 3;  // 5

这里,我们使用 + 运算符将操作数 23 相加。


JavaScript 运算符类型

以下是本教程中将介绍的各种 JavaScript 运算符列表

  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符
  4. 逻辑运算符
  5. 位运算符
  6. 字符串运算符
  7. 杂项运算符

1. JavaScript 算术运算符

我们使用算术运算符执行算术计算,如加法、减法等。例如,

5 - 3;  // 2

这里,我们使用 - 运算符从 5 中减去 3

常用算术运算符

运算符 名称 示例
+ 加法 3 + 4 // 7
- 减法 5 - 3 // 2
* 乘法 2 * 3 // 6
/ 除法 4 / 2 // 2
% 余数 5 % 2 // 1
++ 递增(加 1 ++55++ // 6
-- 递减(减 1 --44-- // 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 比较运算符

我们使用比较运算符来比较两个值并返回一个布尔值truefalse)。例如,

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 < 6y < 5 都为 true,因此组合结果为 true

常用逻辑运算符

运算符 语法 描述
&& (逻辑 AND) expression1 && expression2 仅当 expression1expression2 都为 true 时为 true
|| (逻辑 OR) expression1 || expression2 expression1expression2 中至少有一个为 true 时为 true
! (逻辑 NOT) !expression 如果 expressiontrue 则为 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. JavaScript 位运算符

我们使用位运算符对整数执行二进制运算

运算符 描述 示例
& 按位与 5 & 3 // 1
| 按位或 5 | 3 // 7
^ 按位异或 5 ^ 3 // 6
~ 按位非 ~5 // -6
<< 左移 5 << 1 // 10
>> 符号扩展右移 -10 >> 1 // -5
>>> 零填充右移 -10 >>> 1 // 2147483643

注意:我们在日常编程中很少使用位运算符。如果您感兴趣,请访问 JavaScript 位运算符 了解更多。

6. JavaScript 字符串连接运算符

在 JavaScript 中,您还可以使用 + 运算符连接(合并)两个字符串。例如,

let str1 = "Hel", str2 = "lo";
console.log(str1 + str2);

// Output: Hello

这里,我们使用 + 运算符连接 str1str2

7. JavaScript 杂项运算符

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

另请阅读

在结束之前,让我们通过挑战来测试您对 JavaScript 运算符的知识!您能解决以下挑战吗?

挑战

编写一个函数来执行基本的算术运算。

  • 操作包括:+ 表示加法,- 表示减法,* 表示乘法,/ 表示除法。
  • 给定 num1num2op 来指定要执行的操作,返回结果。
  • 例如,如果 num1 = 5op = "+"num2 = 3,则预期输出为 8

视频:JavaScript 运算符

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战