为什么JavaScript为以下条件返回True ?



在解决一个问题时,我注意到以下条件

if("String" == ["String"]) {
console.log("Valid");
}
else
{
console.log("Invalid");
}

我认为它应该记录"无效",因为第一个值是字符串,第二个值是字符串对象。但令我惊讶的是,它正在记录"有效"。任何具体的原因,为什么这个条件是正确的。

您使用==来比较它们,因此数组首先被转换为字符串。

如果您使用===(您可能总是应该这样做),它们将不相等。

最新更新