Javascript 什么是§;ECMAScript标准上的11.9?

Javascript 什么是§;ECMAScript标准上的11.9?,javascript,ecmascript-6,standards,Javascript,Ecmascript 6,Standards,在之前的一次关闭之后,我明白我必须更具体 我已经阅读了ECMAScript标准(ES6和ES18),并且§11.9段引起了我的注意。我注意到两个版本之间有一些细微的变化。但我似乎不清楚,也许是因为我的英语不好 有人能解释一下这两个标准之间的主要区别是什么,我应该如何理解它们 我们从某些语句到大多数语句,但也有人说为了方便起见,可以省略这些分号。这在我看来是矛盾的 阅读这一段的正确方式是什么 §11.9 某些ECMAScript语句(空语句、let、const、import和export声明、变

在之前的一次关闭之后,我明白我必须更具体

我已经阅读了ECMAScript标准(ES6和ES18),并且§11.9段引起了我的注意。我注意到两个版本之间有一些细微的变化。但我似乎不清楚,也许是因为我的英语不好

有人能解释一下这两个标准之间的主要区别是什么,我应该如何理解它们

我们从某些语句到大多数语句,但也有人说为了方便起见,可以省略这些分号。这在我看来是矛盾的

阅读这一段的正确方式是什么

§11.9 某些ECMAScript语句(空语句、
let
const
import
export
声明、变量语句、表达式语句、
debugger
语句、
continue
语句、
break
语句、
return
语句和
throw
语句)必须以分号结尾。这样的分号可能总是显式出现在源文本中。然而,为了方便起见,在某些情况下,可以从源文本中省略此类分号。在这些情况下,分号会自动插入到源代码令牌流中

§11.9 大多数ECMAScript语句和声明必须以分号结尾。这样的分号可能总是显式出现在源文本中。但是,为了方便起见,可以从中的源文本中省略此类分号 某些情况。在这些情况下,分号会自动插入到源代码令牌流中


第11.9.1和11.9.2小节准确描述了分号插入的工作原理,以及语法中的“[此处无行终止符]”标记。你引用的这段话是对整个章节的介绍,包括各个小节。我想这有点像在银行填写存款单。所有存款单都需要一个账号,但如果你不写,在某些情况下出纳员会帮你写。需要账号吗?对你需要填写吗?不一定。这两段话基本上说的是同一件事。他们只是决定不在新的介绍中明确列出语句类型,可能是因为列表太长了。下面的规则提供了详细信息。我快速扫描了两个版本中的11.9.1。据我所知,规则中没有什么明显的变化,但它们改变了一些产品的名称(例如,
PostfixExpression
变成了
UpdateExpression
)。看起来这些差异都是编辑性的,而不是技术性的。你的两个问题似乎假设自动插入分号的情况发生了变化。除了关于这是否是一件有用的事情的看法外,一切都没有改变。