5

谁能解释为什么这些 JavaScript 数组不等式比较评估为真?

[""] !== [""]

[1] !== [1]

[] !== []


[""] != [""]

[1] != [1]

[] != []
4

1 回答 1

8

===严格平等。
比较对象时,如果双方都引用同一个对象,它只会返回true。

[]and[]是两个不同的(虽然是等价的)对象,所以它返回 false。


==是松散的平等。

它将尝试将两个操作数强制为同一类型,如规范中所述。

但是,它也通过引用身份比较对象。

于 2013-07-10T14:16:54.127 回答