谁能解释一下 javaScript 中的 "empty statement" 是如何受到 "Automatic Semicolon Insertion" 影响的

Can someone explain me how the "empty statement" in javaScript is affected from "Automatic Semicolon Insertion"

谁能解释一下 "empty statement" 中的 javaScript 是如何受到 "Automatic Semicolon Insertion" 影响的MDN website states that the empty statement is affected from automatic semicolon insertion 虽然它没有在 ECMAScript specification 中说明 谁能给我解释一下,谁能给我解释一下分号空语句

有什么区别

阅读从 MDN 页面链接的规范。空语句是 "affected" 因为如果插入的分号会导致空语句,ASI 将不会完成。

只要显式地包含分号,就可以避免在 ASI 发生时手忙脚乱。 ASI 最常见的陷阱是 return 语句,当尝试像

return
  { propertyName: "something" };

不要那样做。在与 return.

相同的行上启动对象初始值设定项

关于分号和空语句的区别:分号是分界线。在以下代码中:

var x; ;

有一个var声明语句,然后是一个空语句。第二个分号不是空语句的部分,但它暗示在它之前一个空语句。