首页 > 解决方案 > 为什么要 {} 和 {};在 JS 中进行不同的评估?

问题描述

在 Mac Chrome JS 控制台中,我遇到以下结果:

{} 评估为 Object()

{}; 评估为未定义

分号如何影响它之前的内容?

这与 ASI 或其他解析规则有关吗?

标签: javascript

解决方案


这是因为 JS 解释{}对象字面量,而{};转向代码块
这可以通过将其放在一对括号中来避免:({});将返回一个对象。


推荐阅读