如果我在控制台中运行它,为什么会出现语法错误? {} === {}

时间:2016-03-05 09:51:27

标签: javascript syntax-error

在chrome控制台中,我运行{} === {},我收到语法错误,意外'==='。

如果我将其包裹在parens中,例如({} === {}),那么我得到false,这是我所期待的。

对象文字,在第一个位置,是否与代码块混淆?

1 个答案:

答案 0 :(得分:3)

如果没有周围的括号,{}将被视为javascript中的空code block=后跟code block将是无效的语法。这就是你在那里看到错误的原因。

如果将它包装在({} === {})之类的括号内,那么它将被视为expression,并且它将被评估为false,因为它们都引用了两个不同的对象。

以下示例可能会为您提供清晰的图片,

{ var x = 5; console.log(x); } == 2
// will throw the same error that you are facing.