为什么“{} == {}”会导致语法错误?

4

可能是重复问题:
为什么在JavaScript中{}!=({})?

今天我尝试了一下,它给我抛出了SyntaxError错误,这让我想知道:这里有什么问题吗?

{} === {}
{} == {}

有什么问题吗?

2个回答

10

{ 是一行中的第一个标记时,它被视为块的开头。

{
  some();
  statements();
  here();
}

它不是一个对象字面量。一段代码不能等于任何东西,它不是可分配的东西。

({}) === {}

那将使解析器正确运行。


Nit: “当 { 是一行中的第一个标记时…” 是一个很粗略的近似。考虑 ;(\n{} == {})var x = \n{}; 作为反例。 - user166390

4

使用括号。括号可以把模棱两可的代码转化为表达式:

({}) === ({})

或者:

({} === {})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接