返回

JavaScript 运算符大解析:深入理解 ^ | & ~ >> _ << ** ??

前端

JavaScript 运算符:深入解析

在 JavaScript 中,运算符是用于对操作数执行数学、逻辑或位操作的特殊符号。它们是编程语言的基础,掌握运算符对于编写高效、可读的代码至关重要。

本文将重点介绍 7 个常见的 JavaScript 运算符,它们分别是:

  1. 位运算符:^ | & ~ >> <<
  2. 逻辑运算符: ??

我们将在以下部分详细探讨每个运算符的语法、语义和示例。

1. 位运算符

位运算符对二进制位进行操作,提供了一种低级的、高效的方式来处理位级数据。

  • ^ (异或) :对两个操作数的二进制位进行异或操作。如果两个位不同,则结果为 1;否则为 0。
  • | (按位或) :对两个操作数的二进制位进行按位或操作。如果任何一个位为 1,则结果为 1;否则为 0。
  • & (按位与) :对两个操作数的二进制位进行按位与操作。如果两个位都为 1,则结果为 1;否则为 0。
  • ~ (按位非) :对单个操作数的二进制位进行按位非操作。将 0 转换为 1,将 1 转换为 0。
  • >> (右移) :将操作数的二进制位向右移动指定位数。右移时,高位丢弃,低位补 0。
  • << (左移) :将操作数的二进制位向左移动指定位数。左移时,低位丢弃,高位补 0。

2. 逻辑运算符

逻辑运算符对布尔值(true/false)进行操作,用于构建条件语句和执行逻辑判断。

  • **** (逻辑非) :将操作数的布尔值取反。true 转换为 false,false 转换为 true。
  • ?? (空值合并) :如果第一个操作数为 true 或非空,则返回第一个操作数;否则返回第二个操作数。该运算符经常用于设置默认值或处理空值。

示例:

以下是一些使用这些运算符的示例:

// 异或:
console.log(5 ^ 3); // 输出:6

// 按位或:
console.log(5 | 3); // 输出:7

// 按位与:
console.log(5 & 3); // 输出:1

// 按位非:
console.log(~5); // 输出:-6

// 右移:
console.log(5 >> 1); // 输出:2

// 左移:
console.log(5 << 1); // 输出:10

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

// 空值合并:
const name = null;
console.log(name ?? "默认名称"); // 输出:"默认名称"

应用场景

这些运算符在 JavaScript 开发中有着广泛的应用,包括:

  • 位操作: 掩码、设置和清除位、位移。
  • 逻辑判断: 构建条件语句、处理布尔值。
  • 数据操作: 设置默认值、处理空值、提取和组合位级信息。

总结

JavaScript 运算符是一种强大的工具,可以让你执行各种数学、逻辑和位级操作。通过理解 ^ | & ~ >> _ << ** ?? 等运算符的语法、语义和应用,你可以编写出更有效、可读的代码,从而提高你的 JavaScript 编程技能。