Javascript if语句双感叹号运算符冗余

时间:2017-05-10 01:50:36

标签: javascript

如果我的if语句没有条件运算符,那么使用双重感叹号运算符 - !!是否重要?

例如......

if ([]) {

}

... VS

if (!!([])) {

}

根据我的理解 - 运营商基本上都在询问 - "这个价值是真的吗?"。所以在这种情况下它是多余的。在与此类似的所有情况下都是多余的吗?

编辑:

if (x) { console.log("hi"); }
if (!!x) { console.log("hi"); }

对于任何x,这两个都会打印吗?这是我的问题。

1 个答案:

答案 0 :(得分:2)

是。这两个都将打印任何Boolean(x) === true

有关详细信息,您可以在JavaScript中找到truthyfalsyBoolean

为了便于理解,您可以使用Boolean([]) // true