semi-spacing
強制在分號前後保持一致的間距
🔧 可修正
此規則報告的某些問題可以透過 --fix
命令列 選項自動修正
JavaScript 允許您在分號前後放置不必要的空格。
禁止或強制分號周圍的空格可以提高程式碼的可讀性。
var a = "b" ;
var c = "d";var e = "f";
規則詳情
此規則旨在強制分號周圍的間距。此規則防止在表達式中的分號前使用空格。
此規則不檢查以下情況的間距
-
如果分號是行中的第一個 token,則分號後的間距。
-
如果分號在左括號 (
(
或{
) 之後,則分號前的間距,或者如果分號在右括號 ()
或}
) 之前,則分號後的間距。該間距由space-in-parens
或block-spacing
檢查。 -
在具有空條件的 for 迴圈 (
for(;;)
) 中分號周圍的間距。
選項
該規則採用一個選項,即一個物件,它有兩個鍵 before
和 after
,它們具有布林值 true
或 false
。如果 before
為 true
,則強制分號前有空格,如果為 false
,則不允許分號前有空格。如果 after
為 true
,則強制分號後有空格,如果為 false
,則不允許分號後有空格。只有當分號不在行尾時,才會套用 after
選項。
預設值為 {"before": false, "after": true}
。
"semi-spacing": ["error", {"before": false, "after": true}]
{"before": false, "after": true}
這是預設選項。它強制分號後有空格,並禁止分號前有空格。
此規則的錯誤程式碼範例
在 Playground 中開啟
/*eslint semi-spacing: "error"*/
var foo;
var foovar bar;
throw new Error("error");
while (a) { break; }
for (i = 0; i < 10; i++) {}
for (i = 0 i < 10 i++) {}
此規則的正確程式碼範例
在 Playground 中開啟
/*eslint semi-spacing: "error"*/
var foo;
var foo; var bar;
throw new Error("error");
while (a) { break; }
for (i = 0; i < 10; i++) {}
for (;;) {}
if (true) {;}
;foo();
{"before": true, "after": false}
此選項強制分號前有空格,並禁止分號後有空格。
使用 {"before": true, "after": false}
選項時,此規則的錯誤程式碼範例
在 Playground 中開啟
/*eslint semi-spacing: ["error", { "before": true, "after": false }]*/
var foo
var foo ;var bar
throw new Error("error")
while (a) { break }
for (i = 0 i < 10 i++) {}
for (i = 0 i < 10 i++) {}
使用 {"before": true, "after": false}
選項時,此規則的正確程式碼範例
在 Playground 中開啟
/*eslint semi-spacing: ["error", { "before": true, "after": false }]*/
var foo ;
var foo ;var bar ;
throw new Error("error") ;
while (a) {break ;}
for (i = 0 ;i < 10 ;i++) {}
何時不該使用
如果您不關心分號前或後間距的一致性,則可以關閉此規則。
相關規則
版本
此規則在 ESLint v0.16.0 中引入。