javascript – 为什么添加括号会阻止错误?

为什么当我在chrome控制台中写{} .key = 0时出现错误:

> {}.key = 0
> Uncaught SyntaxError: Unexpected token .

但是当我将上述表达式封装在括号(()中)时,我没有得到任何错误:

> ({}.key = 0)
> 0

到底发生了什么?我会想到我在第一个场景中遇到的同样错误仍然适用于第二个场景?

控制台输出图像:

javascript  – 为什么添加括号会阻止错误?

解决方法:

{}在JavaScript语法中重载.它们用于(语句)块和对象文字.规则是:如果{出现在语句的开头,则将其解析为块;否则它是一个对象字面值.

在{} .key中,{出现在声明的开头.它解析为

{
    // this is an empty block
}
.key  // syntax error here

在{(例如()之前添加任何标记使其作为对象文字进行解析.例如,42,{}.key = 0也可以.

上一篇:MySQL中show命令用法大全


下一篇:Syntax error on token