我在一次采访中被问到以下内容会记录什么:
-
console.log(1||2);//logs 1
-
console.log(1&&2);//logs 2
演示
console.log(1||2,1&&2)
但是为什么呢?他们是如何评估的?
如果重复,我很抱歉:(
最佳答案
这就是这些逻辑运算符在 Javascript 中的实现方式。
我认为可以通过查看短路评估的工作原理来解释其工作背后的直觉。
例如,对于||,如果您知道左侧是真实的,则无需检查右侧(因为无论如何结果都是真实的) - 因此它直接返回左侧的内容。
对于&&,仅左侧为真还不够,还必须检查右侧。如果右侧也为真,则返回右侧的内容。
更多详情here 。
关于javascript - 为什么在 javascript 中对数字使用逻辑运算符会出现以下结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50197494/