为什么比较{}和[]显示错误?

时间:2017-02-12 07:00:38

标签: javascript google-chrome firefox javascript-objects

在我的空闲时间,我只是在玩js控制台,我遇到了一个意想不到的错误:

js> [] == {}
false

js> {} == []
typein:5: SyntaxError: syntax error:

我尝试了===

js> [] === {}
false
js> {} === []
typein:9: SyntaxError: syntax error:

我在这里想错了吗?

我使用Firefox,Chrome和jscore进行了测试。

1 个答案:

答案 0 :(得分:25)

那是因为在第二种情况下,{}被解释为代码块,而不是对象。

如果您尝试({}) == [],它就可以正常使用。

js> ({}) == []
false
js> ({}) === []
false