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

标签 javascript syntax-error

在 chromium 控制台中,我运行 {} === {} 并收到语法错误,意外的“===”。

如果我用括号括起来,比如 ({} === {}),那么我会得到 false,这是我所期望的。

第一个位置的对象文字是否与代码块或其他东西混淆?

最佳答案

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

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

下面的例子可能会让你对它有一个清晰的了解,

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

关于javascript - 如果我在控制台中运行它,为什么会出现语法错误? {} === {},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35812616/

相关文章:

javascript - 使用 Chrome 分析 React 应用程序性能

heroku - 在heroku上运行 “webpack --mode production”时出现语法错误

python - 语法错误 - 无法在设置变量中分配给运算符

具有复杂 SELECT 的 MySQL 过程在表名上给出 "Undeclared Variable"

javascript - 优雅的 javascript - 当发生 3 个不同的 AJAX 请求时触发函数

javascript - 删除外部框阴影并仅保留插入阴影

javascript - 来自第三方 iframe 的 GA 是否会影响主机站点 GA 数据?

javascript - 如何减小超过 600 MB 的 Electron 封装大小

python - 用Python除以零错误?

sql - Oracle Sql : foreign-key is also primary key syntax