JavaScript - 逻辑运算符
你好,未来的JavaScript大师们!今天,我们将踏上一段激动人心的旅程,探索逻辑运算符的世界。如果你是编程新手,不用担心——我会成为你的友好向导,我们将一步步地探索这个主题。在本课结束时,你将能够像专业人士一样熟练地使用逻辑运算符!
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
在第一个例子中,isAdult
和hasID
都为真,所以结果是真。就像说,“如果你是成年人并且有身份证,你可以进入俱乐部。”必须满足两个条件。
在第二个例子中,尽管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
为假,结果也是真。就像说,“如果你有现金或者有卡,你就可以购买物品。”拥有其中一个就足够了。
在第二个例子中,isRaining
和isSnowing
都为假,所以结果是假。就像说,“如果下雨或者下雪,我会待在室内。”由于这两种情况都没有发生,你可以自由地出去!
JavaScript 逻辑非(!)运算符
逻辑非运算符(!)是一群中的反叛者——它翻转其操作数的布尔值。如果某事为真,它会变为假,反之亦然。
让我们看看它是如何工作的:
let isSunny = true;
console.log(!isSunny); // 输出: false
let isMonday = false;
console.log(!isMonday); // 输出: true
在第一个例子中,isSunny
为真,但!isSunny
为假。就像说,“天气不是晴朗的,”实际上却是。
在第二个例子中,isMonday
为假,但!isMonday
为真。就像庆祝今天不是周一!
逻辑运算符优先级
就像在数学中一样,逻辑运算符也有优先级顺序。以下是它们的排名:
- NOT (!)
- AND (&&)
- OR (||)
这意味着NOT首先被评估,然后是AND,最后是OR。让我们看一个例子:
let a = true;
let b = false;
let c = true;
console.log(a || b && !c); // 输出: true
这里的评估顺序是:
- 首先评估
!c
:!true
变为false
- 然后评估
b && false
:false && false
是false
- 最后评估
a || false
:true || false
是true
所以,最终结果是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