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

javascriptweb developmentfront end technology

JavaScript 自动分号插入 (ASI) 是插入缺失的分号。自动插入分号 − 会影响以下语句 −

empty 语句
var 语句
expression (表达式)语句
do-while 语句
continue 语句
break 语句
return 语句
throw 语句

规则如下 −

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

相关文章


有用资源