为什么一个空数组映射到不同上下文中的不同布尔值?

时间:2018-04-09 11:22:37

标签: javascript arrays boolean primitive-types

这看起来像一个非常简单的问题,但我一直试图理解它。

[]是空数组。

[] == false给了我true

Boolean([])给了我true

因此,此代码输出"Hello, world!"

if ([]) {
  console.log("Hello, world!");
}

但这不是:

if ([] == true) {
  console.log("Hello, world!");
}

这看起来非常违反直觉。请解释为什么会发生这种情况。

0 个答案:

没有答案