📜  ASI (1)

📅  最后修改于: 2023-12-03 15:13:30.899000             🧑  作者: Mango

ASI(Automatic Semicolon Insertion)

在JavaScript中,ASI是自动插入分号的缩写。当JavaScript解析代码时,如果代码缺少分号,则解析器会自动插入分号。虽然JavaScript使用分号作为语句的终止符,但是使用ASI时可以省略它,这样就可以减少代码的字符数,从而提高代码的可读性。

规则

ASI的自动插入分号规则如下:

  1. 当解析器遇到代码行末尾没有分号、括号、方括号、模板字面量的时候,会自动插入分号。
  2. 当解析器遇到两个语句之间没有分号、括号、方括号、模板字面量的时候,会自动插入分号。
var a = 1
var b = 2
// 等价于
var a = 1;
var b = 2;

function foo() {
  return
  {
    a: 1
  }
}
console.log(foo());
// 等价于
function foo() {
  return;
  {
    a: 1
  }
}
console.log(foo());
注意事项

尽管使用ASI可以减少代码中的字符数,但是应该注意以下点:

  1. 建议开发者在代码中使用分号,以养成良好的编程习惯。
  2. 当代码缺少分号时,解析器可能会自动插入分号,然而这个行为不一定符合开发者的期望,因此合理规划代码结构并手动插入分号是一个好习惯。
参考资料