JavaScript 的自动分号插入 (ASI) 规则是什么?


JavaScript 的自动分号插入 (ASI) 用于插入缺失的分号。以下语句受自动分号插入的影响:

empty statement
var statement
expression statement
do-while statement
continue statement
break statement
return statement
 throw statement

规则在以下规范中:

  • 当从左到右解析脚本或模块时:如果遇到语法规则的任何产生式都不允许的标记,则仅当以下一个或多个条件为真时,才会在有问题的标记之前自动插入分号:
  • 有问题的标记是 }。
  • 前一个标记是 ),并且插入的分号随后将被解析为 do-while 语句的终止分号 (13.7.2)。
  • 遇到输入标记流的末尾,因此解析器无法将输入标记流解析为一个完整的 ECMAScript 或模块,则会自动插入分号。
  • 遇到语法规则的一些产生式允许的标记,但该产生式是受限的产生式,并且该标记将是注释后紧跟的终端或非终端的第一个标记。

更新于: 2020年6月13日

208 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告