你不知道的 JavaScript 系列中( 28 ) - && 和 ||

&& 和 || 运算符的返回值并不一定是布尔类型,而是两个操作数其中一个的值。

对于 || 来说,如果条件判断结果为 true 就返回第一个操作数(a 和 c)的值,如果为 false 就返回第二个操作数(b)的值

&& 则相反,如果条件判断结果为 true 就返回第二个操作数(b)的值,如果为 false 就返回第一个操作数(a 和 c)的值

下面是一个十分常见的 || 的用法,也许你已经用过但并未完全理解:

有一种用法对开发人员不常见,然而 JavaScript 代码压缩工具常用。就是如果第一个操作数为真值,则 && 运算符”选择”第二个操作数作为返回值,这也叫作”守护运算符”,即前面的表达式为后面的表达式”把关”:

这样的用法对开发人员不太常见,开发人员通常使用if (a) { foo(); }。但JavaScript 代码压缩工具用的是a && foo(),因为更简洁。以后再碰到这样的代码你就知道是怎么回事了。

|| 和 && 各自有它们的用武之地,前提是我们理解并且愿意在代码中运用隐式强制类型 转换。

Original: https://www.cnblogs.com/wzndkj/p/14041082.html
Author: wzndkj
Title: 你不知道的 JavaScript 系列中( 28 ) - && 和 ||

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/536449/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球