JavaScript中逻辑与操作符虽然简单,但是很容易忽略一个应用点

点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

说到JavaScript中逻辑操作符,用的比较多的应该是逻辑与(&&)和逻辑或(||)以及逻辑非。今天来说一下逻辑与。

一,概念很容易记住

逻辑与操作属于短路操作,即如果第一个操作数能够决定结果,那么就不会再对第二个操作数求值。对于逻辑与操作而言,如果第一个操作数是false,则无论第二个操作数是什么值,结果都不再可能是true了。

如下示例:

JavaScript中逻辑与操作符虽然简单,但是很容易忽略一个应用点

再来看下面这段代码:

JavaScript中逻辑与操作符虽然简单,但是很容易忽略一个应用点

输出:false

在这个例子中,警告框会显示出来,无论变量someUndefinedVariable有没有定义,也永远不会对它求值,因为第一个操作数的值是false。而这也就意味着逻辑与操作的结果必定是false。

在使用逻辑与操作符时要始终铭记它是一个短路操作符。

关于逻辑与其实我们通常记住的可能就是下面这么一个表的结论:

第一个操作数:ture,第二操作数:true,结果:true。

第一个操作数:ture,第二操作数:false,结果:false。

第一个操作数:false,第二操作数:true,结果:false。

第一个操作数:false,第二操作数:false,结果:false。

二,关键点也容易忽略

上面说的一张表给出的结果,没有问题,是完全正确的。关键是我们需要记住一个逻辑与非常好的应用点,看下面这段代码:

JavaScript中逻辑与操作符虽然简单,但是很容易忽略一个应用点

输出:'小郑搞码事'

也就说,当表达式评估为'真'时,则返回表达式本身。这很好,因为它在逻辑表达式中被视为'真',但也可以用于在您关心时返回该值。这解释了为什么,上面这段代码返回'小郑搞码事'。(而由于上面表的结论导致你可能会期望它返回true或1)。

总结一下:

灵活应用这些看似简单的知识点,也能让你的代码简略很多。


分享到:


相關文章: