semi-spacing
強制在分號前後保持一致的間距
此規則報告的一些問題可使用 --fix
命令列選項自動修正
此規則已在 ESLint v8.53.0 中棄用。請使用 @stylistic/eslint-plugin-js
中對應的規則。
JavaScript 允許您在分號前後放置不必要的空格。
禁止或強制在分號周圍加上空格可以提高程式碼的可讀性。
var a = "b" ;
var c = "d";var e = "f";
規則詳情
此規則旨在強制在分號周圍加上空格。此規則會阻止在表達式中的分號之前使用空格。
此規則不會檢查以下情況下的間距
-
如果分號是該行的第一個符號,則分號後的間距。
-
如果分號位於左括號(
(
或{
)之後,或分號位於右括號()
或}
)之前,則分號前的間距。該間距由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}
這是預設選項。它強制在分號之後加上空格,並禁止在分號之前加上空格。
此規則的錯誤程式碼範例
/*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++) {}
此規則的正確程式碼範例
/*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}
選項時,此規則的錯誤程式碼範例
/*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}
選項時,此規則的正確程式碼範例
/*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 中引入的。