Javascript var === 2 && console.log ('true' )。这是如何运作的?

标签 javascript conditional-statements

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/

相关文章:

java - Struts2 验证条件

enums - 如何有条件地检查枚举是一种变体还是另一种变体?

linux - Bash 记住两个脚本出现之间的值

Javascript: <script src=jquery...只有当条件为真时

javascript - THREE.js:需要帮助旋转四元数

javascript - 仅将鼠标悬停在一个元素上(事件元素)

javascript - 防止 HTTP GET 请求中的 key 泄漏

javascript - 有关使用 HTML/CSS/JavaScript 编写应用程序的 Windows 8 Metro 资源列表?

javascript - 我在编写一个 js 并将其设置为具有相同 id 的多个 div 时遇到问题

linux - 如何在 Linux bash 中提取带条件的 csv 文件的第 n 列?