如果我在控制台中运行它,为什么会出现语法错误?{} === {}.
Why do I get a syntax error if I run this in the console? {} === {}
在铬控制台中,我运行{} === {}
,出现语法错误,意外的"==="。
但是,如果我像({} === {})
一样将其包装在parens中,那么我会得到false
,这是我所期望的。
第一个位置的对象文字是否与代码块或其他东西混淆了?
如果没有周围的括号,{}
在javascript中将被视为空code block
。 =
后跟一个code block
将是无效的语法。这就是为什么您在那里看到错误的原因。
如果你把它包装在像 ({} === {})
这样的括号里,那么它将被视为一个expression
,它将被评估为 false,因为两者都引用两个不同的对象。
下面的例子可能会给你一个清晰的画面,
{ var x = 5; console.log(x); } == 2
// will throw the same error that you are facing.
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- Javascript未捕获语法错误意外的标识符错误
- 为什么忽略了eval()代码中的语法错误
- 难以访问的JS环境中的语法错误
- 未捕获的语法错误:意外的标记{
- "未捕获的语法错误:意外的标记}"
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- $(input[]).仅在firefox中出现每个抛出语法错误
- 为什么浏览器没有为语法错误抛出异常
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- 未捕获的语法错误:意外的令牌,
- jQuery.getJSON失败,语法错误
- "未捕获的语法错误:意外的标记"角度JS
- 参数列表Three.js之后的未捕获语法错误:缺少)
- 循环的Javascript冻结浏览器,没有语法错误
- 为什么匿名函数本身就是javascript中的语法错误
- 这怎么不是语法错误?这毫无意义!(javascript)
- 语法错误:缺少:在属性 ID 之后
- 未捕获错误:语法错误,无法识别的表达式:input[@type=submit]