JS ASI 自動插入分號
JS ASI 自動插入分號
ASI 全名為 「Automatic Semicolon Insertion」,中文名稱為「自動分號插入」。
以下例子為例,如在結尾沒加上分號會自行插入
function hi() { |
導致程式碼變成以下
function hi() { |
還有常見犯錯例子,也就是立即函式
(function () { |
如下圖
解決方法如下,結尾或開頭加上分號
// plan A |
不會發生 ASI 的規則如下,可在頭或尾加上’;’解決:
- 新的一行是
(
、[
、/
開始 (容易出錯的地方) - 新的一行以
+
、-
、*
、%
作開始 (會影響執行結果) - 新的一行以
,
、.
作開始 (需注意執行結果)
一開始會想說誰不會在結尾加上分號,根本自找麻煩,結果ESLint的其中一個風格 Standard 就是提倡不在結尾處加上分號
評論
ValineDisqus