JavaScript 运算符详解
在 JavaScript 编程中,运算符是用于执行各种操作的符号。理解不同类型的运算符及其用法对于编写高效、可维护的代码至关重要。本文将详细介绍 JavaScript 中的各种运算符,并通过丰富的示例帮助你更好地理解。
1. 算术运算符
算术运算符用于执行基本的数学运算。
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法 | 1 + 2 |
- | 减法 | 3 - 1 |
* | 乘法 | 2 * 3 |
/ | 除法 | 6 / 2 |
% | 取模(余数) | 7 % 3 |
** | 幂运算 | 2 ** 3 |
示例:
let a = 10;
let b = 5;
console.log(a + b); // 输出 15
console.log(a - b); // 输出 5
console.log(a * b); // 输出 50
console.log(a / b); // 输出 2
console.log(a % b); // 输出 0
console.log(a ** b); // 输出 100000
2. 赋值运算符
赋值运算符用于将值赋给变量。
运算符 | 描述 | 示例 |
---|---|---|
= | 简单赋值 | x = 5 |
+= | 加法赋值 | x += 3 |
-= | 减法赋值 | x -= 2 |
*= | 乘法赋值 | x *= 4 |
/= | 除法赋值 | x /= 2 |
%= | 取模赋值 | x %= 3 |
**= | 幂运算赋值 | x **= 2 |
示例:
let x = 10;
x += 5; // 等同于 x = x + 5
console.log(x); // 输出 15
x -= 3; // 等同于 x = x - 3
console.log(x); // 输出 12
x *= 2; // 等同于 x = x * 2
console.log(x); // 输出 24
x /= 4; // 等同于 x = x / 4
console.log(x); // 输出 6
x %= 5; // 等同于 x = x % 5
console.log(x); // 输出 1
x **= 3; // 等同于 x = x ** 3
console.log(x); // 输出 1
3. 比较运算符
比较运算符用于比较两个值,并返回布尔值(true
或 false
)。
运算符 | 描述 | 示例 |
---|---|---|
== | 等于 | 5 == 5 |
!= | 不等于 | 5 != 4 |
=== | 严格等于 | 5 === 5 |
!== | 严格不等于 | 5 !== '5' |
> | 大于 | 5 > 4 |
< | 小于 | 4 < 5 |
>= | 大于或等于 | 5 >= 5 |
<= | 小于或等于 | 4 <= 5 |
示例:
console.log(5 == 5); // 输出 true
console.log(5 != 4); // 输出 true
console.log(5 === '5'); // 输出 false
console.log(5 !== '5'); // 输出 true
console.log(5 > 4); // 输出 true
console.log(4 < 5); // 输出 true
console.log(5 >= 5); // 输出 true
console.log(4 <= 5); // 输出 true
4. 逻辑运算符
逻辑运算符用于组合多个条件,并返回布尔值。
运算符 | 描述 | 示例 |
---|---|---|
&& | 逻辑与 | true && false |
|| | 逻辑或 | true || false |
! | 逻辑非 | !true |
示例:
console.log(true && false); // 输出 false
console.log(true || false); // 输出 true
console.log(!true); // 输出 false
5. 位运算符
位运算符用于对数字的二进制位进行操作。
运算符 | 描述 | 示例 |
---|---|---|
& | 按位与 | 5 & 1 |
| | 按位或 | 5 | 1 |
^ | 按位异或 | 5 ^ 1 |
~ | 按位非 | ~5 |
<< | 左移 | 5 << 1 |
>> | 右移 | 5 >> 1 |
>>> | 无符号右移 | 5 >>> 1 |
示例:
console.log(5 & 1); // 输出 1
console.log(5 | 1); // 输出 5
console.log(5 ^ 1); // 输出 4
console.log(~5); // 输出 -6
console.log(5 << 1); // 输出 10
console.log(5 >> 1); // 输出 2
console.log(5 >>> 1); // 输出 2
6. 条件(三元)运算符
条件运算符是 JavaScript 中唯一的三元运算符,用于根据条件选择不同的值。
运算符 | 描述 | 示例 |
---|---|---|
? : | 条件运算符 | condition ? expr1 : expr2 |
示例:
let age = 18;
let message = age >= 18 ? "成年" : "未成年";
console.log(message); // 输出 "成年"
7. 字符串运算符
字符串运算符主要用于字符串的拼接。
运算符 | 描述 | 示例 |
---|---|---|
+ | 字符串拼接 | "Hello" + " World" |
示例:
let greeting = "Hello";
let name = "World";
console.log(greeting + " " + name); // 输出 "Hello World"
8. 类型运算符
类型运算符用于判断变量的类型。
运算符 | 描述 | 示例 |
---|---|---|
typeof | 返回变量的类型 | typeof 5 |
instanceof | 判断对象是否为特定类的实例 | obj instanceof Array |
示例:
console.log(typeof 5); // 输出 "number"
console.log(typeof "Hello"); // 输出 "string"
console.log(typeof true); // 输出 "boolean"
let arr = [1, 2, 3];
console.log(arr instanceof Array); // 输出 true
console.log(arr instanceof Object); // 输出 true
9. 逗号运算符
逗号运算符用于在一条语句中执行多个操作。
运算符 | 描述 | 示例 |
---|---|---|
, | 逗号运算符 | let a = 1, b = 2, c = 3; |
示例:
let a = 1, b = 2, c = 3;
console.log(a, b, c); // 输出 1 2 3
10. 空值合并运算符
空值合并运算符用于为变量提供默认值。
运算符 | 描述 | 示例 |
---|---|---|
?? | 空值合并运算符 | let x = null ?? 5; |
示例:
let x = null ?? 5;
console.log(x); // 输出 5
let y = undefined ?? 10;
console.log(y); // 输出 10
let z = 0 ?? 20;
console.log(z); // 输出 0