JavaScript 运算符
                           
天天向上
发布: 2025-02-25 22:38:54

原创
508 人浏览过

JavaScript 运算符(Operators) 是用于执行操作的符号,可以用于不同的数据类型(如数字、字符串、布尔值等)。JavaScript 提供了多种运算符,用于处理数据并返回结果。运算符可以分为多种类型,以下是最常见的几类:

1. 算术运算符(Arithmetic Operators)

用于执行数学运算。

  • 加法(+:将两个操作数相加。
  • 减法(-:从第一个操作数中减去第二个操作数。
  • 乘法(*:将两个操作数相乘。
  • 除法(/:将第一个操作数除以第二个操作数。
  • 取余(%:返回第一个操作数除以第二个操作数后的余数。
  • 幂(**:返回第一个操作数的第二个操作数次方。
let x = 10, y = 5;
console.log(x + y);  // 输出: 15
console.log(x - y);  // 输出: 5
console.log(x * y);  // 输出: 50
console.log(x / y);  // 输出: 2
console.log(x % y);  // 输出: 0
console.log(x ** y); // 输出: 100000

2. 赋值运算符(Assignment Operators)

用于给变量赋值。

  • 赋值(=:将右侧的值赋给左侧的变量。
  • 加法赋值(+=:将右侧的值加到左侧的变量并赋值给左侧。
  • 减法赋值(-=:将右侧的值从左侧的变量中减去并赋值给左侧。
  • 乘法赋值(*=:将右侧的值乘到左侧的变量并赋值给左侧。
  • 除法赋值(/=:将左侧的变量除以右侧的值并赋值给左侧。
  • 取余赋值(%=:将左侧的变量与右侧的值取余并赋值给左侧。
let x = 10;
x += 5;  // 相当于 x = x + 5
console.log(x);  // 输出: 15

x *= 2;  // 相当于 x = x * 2
console.log(x);  // 输出: 30

3. 比较运算符(Comparison Operators)

用于比较两个值,并返回一个布尔值(truefalse)。

  • 等于(==:判断两个值是否相等(不考虑类型)。
  • 严格等于(===:判断两个值是否严格相等(考虑类型)。
  • 不等于(!=:判断两个值是否不相等(不考虑类型)。
  • 严格不等于(!==:判断两个值是否严格不相等(考虑类型)。
  • 大于(>:判断左侧的值是否大于右侧的值。
  • 小于(<:判断左侧的值是否小于右侧的值。
  • 大于等于(>=:判断左侧的值是否大于或等于右侧的值。
  • 小于等于(<=:判断左侧的值是否小于或等于右侧的值。
let x = 10, y = 5;
console.log(x == y);   // 输出: false
console.log(x === '10'); // 输出: false
console.log(x != y);   // 输出: true
console.log(x > y);    // 输出: true
console.log(x <= y);   // 输出: false

4. 逻辑运算符(Logical Operators)

用于连接多个条件表达式。

  • 与(&&:只有两个操作数都为 true,结果才为 true
  • 或(||:只要有一个操作数为 true,结果就为 true
  • 非(!:将操作数的布尔值取反。
let x = true, y = false;
console.log(x && y);  // 输出: false
console.log(x || y);  // 输出: true
console.log(!x);      // 输出: false

5. 条件运算符(三元运算符)

用于根据条件选择两个值之一。语法为:

condition ? expr1 : expr2

如果 conditiontrue,返回 expr1,否则返回 expr2

let age = 18;
let result = age >= 18 ? "Adult" : "Minor";
console.log(result);  // 输出: Adult

6. 类型运算符(Type Operators)

  • typeof:返回一个表示数据类型的字符串。
let x = 42;
console.log(typeof x);  // 输出: number
  • instanceof:检查一个对象是否是某个类的实例。
let arr = [1, 2, 3];
console.log(arr instanceof Array);  // 输出: true

7. 位运算符(Bitwise Operators)

位运算符用于对整数的二进制位进行操作。

  • 按位与(&:对两个数的每一位进行与运算。
  • 按位或(|:对两个数的每一位进行或运算。
  • 按位异或(^:对两个数的每一位进行异或运算。
  • 按位取反(~:对数值的每一位进行取反操作。
  • 左移(<<:将数字的所有位向左移动指定的位数。
  • 右移(>>:将数字的所有位向右移动指定的位数。
  • 无符号右移(>>>:将数字的所有位向右移动指定的位数,并在左边补充 0。
let x = 5, y = 3;
console.log(x & y);  // 输出: 1 (0101 & 0011 = 0001)
console.log(x | y);  // 输出: 7 (0101 | 0011 = 0111)
console.log(x ^ y);  // 输出: 6 (0101 ^ 0011 = 0110)

8. 空值合并运算符(Nullish Coalescing Operator)

?? 是一个新的运算符,用于返回其左侧操作数的值,当左侧为 nullundefined 时,返回右侧的操作数。

let x = null;
let result = x ?? 'Default';
console.log(result);  // 输出: Default

9. 解构赋值运算符(Destructuring Assignment)

用于从数组或对象中提取值,并将其赋给变量。

a. 数组解构

let arr = [1, 2, 3];
let [a, b] = arr;
console.log(a);  // 输出: 1
console.log(b);  // 输出: 2

b. 对象解构

let obj = { name: "Alice", age: 25 };
let { name, age } = obj;
console.log(name);  // 输出: Alice
console.log(age);   // 输出: 25

总结

JavaScript 提供了多种运算符来操作数据,包括算术运算、比较运算、逻辑运算、赋值运算等。掌握这些运算符能帮助你更高效地处理数据和实现各种逻辑。

发表回复 0

Your email address will not be published. Required fields are marked *