JavaScript - 逻辑运算符

你好,未来的JavaScript大师们!今天,我们将踏上一段激动人心的旅程,探索逻辑运算符的世界。如果你是编程新手,不用担心——我会成为你的友好向导,我们将一步步地探索这个主题。在本课结束时,你将能够像专业人士一样熟练地使用逻辑运算符!

JavaScript - Logical Operators

JavaScript 逻辑运算符

逻辑运算符是编程世界中的决策者。它们帮助我们做出选择并控制代码的流程。在JavaScript中,我们有三个主要的逻辑运算符:

运算符 名称 描述
&& AND 如果两个操作数都为真,则返回真
|| OR 如果至少有一个操作数为真,则返回真
! NOT 反转操作数的布尔值

让我们深入了解这些运算符,看看它们是如何施展魔法的!

JavaScript 逻辑与(&&)运算符

逻辑与运算符(&&)就像一个严格的家长——只有当它的两个操作数都为真时,它才返回真。如果任何一个操作数为假,结果就是假。

让我们看一些例子:

let isAdult = true;
let hasID = true;

console.log(isAdult && hasID); // 输出: true

let isTired = true;
let hasCoffee = false;

console.log(isTired && hasCoffee); // 输出: false

在第一个例子中,isAdulthasID都为真,所以结果是真。就像说,“如果你是成年人并且有身份证,你可以进入俱乐部。”必须满足两个条件。

在第二个例子中,尽管isTired为真,但hasCoffee为假,所以结果是假。就像说,“如果我又累又有咖啡,我就会有效率。”由于没有咖啡,所以效率不会出现!

JavaScript 逻辑或(||)运算符

逻辑或运算符(||)更为宽松——如果至少有一个操作数为真,它就返回真。只有当两个操作数都为假时,它才返回假。

这里有一些例子:

let hasCash = true;
let hasCard = false;

console.log(hasCash || hasCard); // 输出: true

let isRaining = false;
let isSnowing = false;

console.log(isRaining || isSnowing); // 输出: false

在第一个例子中,hasCash为真,所以即使hasCard为假,结果也是真。就像说,“如果你有现金或者有卡,你就可以购买物品。”拥有其中一个就足够了。

在第二个例子中,isRainingisSnowing都为假,所以结果是假。就像说,“如果下雨或者下雪,我会待在室内。”由于这两种情况都没有发生,你可以自由地出去!

JavaScript 逻辑非(!)运算符

逻辑非运算符(!)是一群中的反叛者——它翻转其操作数的布尔值。如果某事为真,它会变为假,反之亦然。

让我们看看它是如何工作的:

let isSunny = true;

console.log(!isSunny); // 输出: false

let isMonday = false;

console.log(!isMonday); // 输出: true

在第一个例子中,isSunny为真,但!isSunny为假。就像说,“天气不是晴朗的,”实际上却是。

在第二个例子中,isMonday为假,但!isMonday为真。就像庆祝今天不是周一!

逻辑运算符优先级

就像在数学中一样,逻辑运算符也有优先级顺序。以下是它们的排名:

  1. NOT (!)
  2. AND (&&)
  3. OR (||)

这意味着NOT首先被评估,然后是AND,最后是OR。让我们看一个例子:

let a = true;
let b = false;
let c = true;

console.log(a || b && !c); // 输出: true

这里的评估顺序是:

  1. 首先评估!c!true变为false
  2. 然后评估b && falsefalse && falsefalse
  3. 最后评估a || falsetrue || falsetrue

所以,最终结果是true。

短路评估

短路评估是JavaScript用来优化逻辑运算的一个巧妙技巧。这意味着在某些情况下,JavaScript不需要评估逻辑表达式的所有部分就能确定结果。

对于逻辑与运算符:

console.log(false && anything); // 输出: false

在这种情况下,JavaScript知道如果第一个操作数为假,整个表达式就会是假,所以它甚至不评估anything

对于逻辑或运算符:

console.log(true || anything); // 输出: true

这里,JavaScript看到第一个操作数为真,所以它知道整个表达式将是真,不管anything是什么。

这可以用来避免错误。例如:

let user = null;

console.log(user && user.name); // 输出: null

如果user是null,JavaScript会短路并返回null,而不是尝试访问user.name,这会导致错误。

就这样,朋友们!你刚刚完成了JavaScript逻辑运算符的速成课程。记住,这些小符号是你编程工具箱中的强大工具。它们帮助你做出决策,控制代码流程,甚至防止错误。

在你继续JavaScript之旅时,你会发现你会越来越多地使用这些运算符。不要害怕尝试它们——这就是你真正掌握它们使用方法的途径。快乐编程,愿你的逻辑运算总是得到你预期的结果!

Credits: Image by storyset