返回

JavaScript 运算符指南:全面解析 35 个运算符用法与示例

前端

JavaScript 作为一门强大的编程语言,拥有丰富的运算符,这些运算符可以执行各种操作,如算术计算、比较判断、逻辑处理、赋值等。掌握这些运算符对于编写高质量的 JavaScript 代码至关重要。

1. 算术运算符

算术运算符用于执行基本算术运算。它们包括:

  • +:加法运算符,用于将两个或多个数字或字符串相加。
  • -:减法运算符,用于计算两个数字或字符串的差值。
  • *:乘法运算符,用于计算两个数字或字符串的乘积。
  • /:除法运算符,用于计算两个数字的商。
  • %:求余运算符,用于计算两个整数相除的余数。
  • ++:自增运算符,用于将一个变量的值增加 1。
  • --:自减运算符,用于将一个变量的值减少 1。

2. 比较运算符

比较运算符用于比较两个值的大小或相等性。它们包括:

  • ==:松散相等运算符,用于比较两个值是否相等,但不考虑数据类型。
  • ===:严格相等运算符,用于比较两个值是否相等,同时考虑数据类型。
  • !=:松散不等运算符,用于比较两个值是否不等,但不考虑数据类型。
  • !==:严格不等运算符,用于比较两个值是否不等,同时考虑数据类型。
  • >:大于运算符,用于比较两个值的大小,判断左边的值是否大于右边的值。
  • <:小于运算符,用于比较两个值的大小,判断左边的值是否小于右边的值。
  • >=:大于等于运算符,用于比较两个值的大小,判断左边的值是否大于或等于右边的值。
  • <=:小于等于运算符,用于比较两个值的大小,判断左边的值是否小于或等于右边的值。

3. 逻辑运算符

逻辑运算符用于对多个条件进行逻辑判断。它们包括:

  • &&:逻辑与运算符,用于判断两个条件是否都为真。
  • ||:逻辑或运算符,用于判断两个条件中是否有一个为真。
  • !:逻辑非运算符,用于判断一个条件是否为假。

4. 赋值运算符

赋值运算符用于将一个值赋给一个变量。它们包括:

  • =:简单赋值运算符,用于将一个值直接赋给一个变量。
  • +=:加法赋值运算符,用于将一个值与一个变量的当前值相加,并将结果赋给该变量。
  • -=:减法赋值运算符,用于将一个值从一个变量的当前值中减去,并将结果赋给该变量。
  • *=:乘法赋值运算符,用于将一个值与一个变量的当前值相乘,并将结果赋给该变量。
  • /=:除法赋值运算符,用于将一个值除以一个变量的当前值,并将结果赋给该变量。
  • %=:求余赋值运算符,用于将一个值与一个变量的当前值求余,并将结果赋给该变量。

5. 位运算符

位运算符用于对二进制位进行操作。它们包括:

  • &:按位与运算符,用于将两个二进制数的对应位进行与运算,结果为 0 或 1。
  • |:按位或运算符,用于将两个二进制数的对应位进行或运算,结果为 0 或 1。
  • ^:按位异或运算符,用于将两个二进制数的对应位进行异或运算,结果为 0 或 1。
  • <<:左移运算符,用于将一个二进制数的位向左移动指定位数。
  • >>:右移运算符,用于将一个二进制数的位向右移动指定位数。
  • >>>:无符号右移运算符,用于将一个二进制数的位向右移动指定位数,不会产生负数。

6. 其他运算符

除了上述运算符之外,JavaScript 中还有一些其他运算符,包括:

  • ():括号运算符,用于改变运算符的优先级或对表达式进行分组。
  • []:方括号运算符,用于访问数组或对象的元素。
  • .:点运算符,用于访问对象的属性或方法。
  • ,:逗号运算符,用于分隔表达式或函数参数。
  • ;:分号运算符,用于结束一条语句。

7. 运算符的优先级

运算符的优先级决定了它们在表达式中的执行顺序。优先级较高的运算符将先于优先级较低的运算符执行。如果多个运算符具有相同的优先级,则从左到右执行。

JavaScript 中运算符的优先级如下:

  1. 一元运算符(如 +-! 等)
  2. 乘法、除法、取余运算符(*/%
  3. 加法、减法运算符(+-
  4. 位移运算符(<<>>>>>)
  5. 关系运算符(<><=>=
  6. 相等运算符(=====!=!==)
  7. 逻辑与运算符(&&
  8. 逻辑或运算符(||
  9. 条件运算符(?:
  10. 赋值运算符(=+=-=*=/=%=

8. 运算符的示例

为了更好地理解 JavaScript 中的运算符,我们来看一些示例:

// 算术运算符
console.log(1 + 2); // 输出:3
console.log(5 - 3); // 输出:2
console.log(4 * 6); // 输出:24
console.log(10 / 2); // 输出:5
console.log(11 % 3); // 输出:2

// 比较运算符
console.log(1 == 2); // 输出:false
console.log(1 === 2); // 输出:false
console.log(1 != 2); // 输出:true
console.log(1 !== 2); // 输出:true
console.log(3 > 2); // 输出:true
console.log(2 < 3); // 输出:true
console.log(4 >= 4); // 输出:true
console.log(5 <= 5); // 输出:true

// 逻辑运算符
console.log(true && false); // 输出:false
console.log(true || false); // 输出:true
console.log(!true); // 输出:false

// 赋值运算符
let x = 1;
x += 2; // 相当于 x = x + 2
console.log(x); // 输出:3

// 位运算符
console.log(1 & 2); // 输出:0
console.log(1 | 2); // 输出:3
console.log(1 ^ 2); // 输出:3
console.log(4 << 1); // 输出:8
console.log(8 >> 1); // 输出:4

9. 总结

JavaScript 中的运算符种类繁多,涵盖了各种不同的操作,包括算术运算、比较运算、逻辑运算、赋值运算、位运算等。掌握这些运算符对于编写高质量的 JavaScript 代码至关重要。