跳到主要内容

JavaScript 运算符

提示
  1. 运算符的基本作用:在JavaScript中,运算符是用于执行操作的特殊符号,包括对变量和值进行操作。
  2. 不同类型的运算符:JavaScript中包括赋值运算符、算术运算符、比较运算符、逻辑运算符、位运算符和字符串运算符。
  3. 运算符的具体用法:赋值运算符用于给变量赋值,算术运算符用于进行数学计算,比较运算符用于比较两个值,逻辑运算符用于执行逻辑操作。

什么是运算符?

在 JavaScript 中,运算符是用于对操作数(值和变量)执行操作的特殊符号。例如,

2 + 3; // 5

这里 + 是执行加法的运算符,23 是操作数。

JavaScript 运算符类型

这是您将在本教程中学习的不同运算符的列表。

  • 赋值运算符
  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 字符串运算符
  • 其他运算符

JavaScript 赋值运算符

赋值运算符用于将值赋值给变量。例如,

const x = 5;

这里,运算符 = 用于将值 5 赋值给变量 x

以下是常用赋值运算符的列表:

运算符名称示例
=赋值运算符a = 7; // 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

注意: 最常用的赋值运算符是 =。一旦我们学习了算术运算符,您将理解其他赋值运算符,如 +=-=*= 等。

JavaScript 算术运算符

算术运算符用于执行算术计算。例如,

const number = 3 + 5; // 8

这里,+ 运算符用于将两个操作数相加。

运算符名称示例
+加法x + y
-减法x - y
*乘法x * y
/除法x / y
%取余x % y
++自增(增加 1)++xx++
--自减(减少 1)--xx--
**指数(幂)x ** y

示例 1:JavaScript 中的算术运算符

let x = 5;
let y = 3;

// 加法
console.log("x + y = ", x + y); // 8

// 减法
console.log("x - y = ", x - y); // 2

// 乘法
console.log("x * y = ", x * y); // 15

// 除法
console.log("x / y = ", x / y); // 1.6666666666666667

// 取余
console.log("x % y = ", x % y); // 2

// 自增
console.log("++x = ", ++x); // x 现在是 6
console.log("x++ = ", x++); // 打印 6 然后增加到 7
console.log("x = ", x); // 7

// 自减
console.log("--x = ", --x); // x 现在是 6
console.log("x-- = ", x--); // 打印 6 然后减少到 5
console.log("x = ", x); // 5

// 指数
console.log("x ** y =", x ** y);

注意** 运算符在 ECMAScript 2016 中引入,某些浏览器可能不支持。要了解更多,请访问 JavaScript 指数运算符的浏览器支持

JavaScript 比较运算符

比较运算符比较两个值,并返回布尔值,要么是 true,要么是 false。例如,

const a = 3,
b = 2;
console.log(a > b); // true

这里,比较运算符 > 用于比较 a 是否大于 b。

运算符描述示例
==等于:如果操作数相等则返回 truex == y
!=不等于:如果操作数不等则返回 truex != y
===严格等于:如果操作数相等且类型相同则返回 truex === y
!==严格不等于:如果操作数相等但类型不同或根本不相等则返回 truex !== y
>大于:如果左操作数大于右操作数则返回 truex > y
>=大于或等于:如果左操作数大于或等于右操作数则返回 truex >= y
<小于:如果左操作数小于右操作数则返回 truex < y
<=小于或等于:如果左操作数小于或等于右操作数则返回 truex <= y

示例 2:JavaScript 中的比较运算符

// 等于运算符
console.log(2 == 2); // true
console.log(2 == "2"); // true

// 不等于运算符
console.log(3 != 2); // true
console.log("hello" != "Hello"); // true

// 严格等于运算符
console.log(2 === 2); // true
console.log(2 === "2"); // false

// 严格不等于运算符
console.log(2 !== "2"); // true
console.log(2 !== 2); // false

比较运算符用于决策和循环中。您将在后续教程中详细了解比较运算符的使用。

JavaScript 逻辑运算符

逻辑运算符执行逻辑操作并返回布尔值,要么是 true,要么是 false。例如,

const x = 5,
y = 3;
x < 6 && y < 5; // true

这里,&& 是逻辑运算符AND。由于 x < 6y < 5 都是 true,结果是 true

| 运算符 | 描述 | 示例 | | ------ | ------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------ | --- | --- | --- | | && | 逻辑与(Logical AND):如果两个操作数都为 true,则返回 true;否则返回 false | x && y | | | | | 逻辑或(Logical OR):如果任一操作数为 true,则返回 true;如果两者都为 false,则返回 false | x | | y | | ! | 逻辑非(Logical NOT):如果操作数为 false,则返回 true;反之亦然 | !x |

示例 3:JavaScript 中的逻辑运算符

// 逻辑与
console.log(true && true); // true
console.log(true && false); // false

// 逻辑或
console.log(true || false); // true

// 逻辑非
console.log(!true); // false

输出

true;
false;
true;
false;

逻辑运算符用于决策制定和循环中。在后续教程中,你将详细学习逻辑运算符的使用。

JavaScript 位运算符

位运算符对数字的二进制表示形式执行操作。

| 运算符 | 描述 | | ------ | ------------------------------------------ | ------------------ | | & | 位与(Bitwise AND) | | | | 位或(Bitwise OR) | | ^ | 位异或(Bitwise XOR) | | ~ | 位非(Bitwise NOT) | | << | 左移(Left shift) | | >> | 带符号右移(Sign-propagating right shift) | | >>> | 无符号右移(Zero-fill right shift) |

位运算符在日常编程中很少使用。如果你感兴趣,可以访问 JavaScript 位运算符(JavaScript Bitwise Operators) 了解更多。

JavaScript 字符串运算符

在 JavaScript 中,你也可以使用 + 运算符来连接(concatenate)两个或多个字符串。

示例 4:JavaScript 中的字符串运算符

// 连接运算符
console.log("hello" + "world");

let a = "JavaScript";

a += " tutorial"; // a = a + ' tutorial';
console.log(a);

输出

helloworld
JavaScript tutorial

注意:+ 与字符串一起使用时,它执行连接操作。然而,当 + 与数字一起使用时,它执行加法操作。

其他 JavaScript 运算符

以下是 JavaScript 中可用的其他运算符列表。你将在后续教程中了解这些运算符。

运算符描述示例
,计算多个操作数并返回最后一个操作数的值let a = (1, 3 , 4); // 4
?:根据条件返回值(5 > 3) ? 'success' : 'error'; // "success"
delete删除对象的属性或数组的元素delete x
typeof返回一个字符串,指示数据类型typeof 3; // "number"
void丢弃表达式的返回值void(x)
in如果指定属性在对象中,则返回 trueprop in object
instanceof如果指定对象是指定对象类型的实例,则返回 trueobject instanceof object_type