var test = 2;
test === 2 && console.log('true');
这让我很困惑。直到前几天我才看到这个。此输出将在控制台中为 true
。
那么这个魔法是如何运作的呢?
最佳答案
这(错误)使用了 JavaScript 的 bool 处理;由于表达式的惰性评估,
console.log('true')
仅在 someVar === 2
之前被评估为 true
时运行。
此行为称为 Short-circuit evaluation .
其他用例
顺便说一句,这种类型的编码有合法的用例。我最喜欢的是使用配置对象:
function (options) {
var options = options || {};
}
这样,选项对象即使没有作为参数也存在。
关于Javascript var === 2 && console.log ('true' )。这是如何运作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28152164/