版本

semi-spacing

強制在分號前後保持一致的間距

🔧 可自動修正

此規則報告的一些問題可使用 --fix 命令列選項自動修正

此規則已在 ESLint v8.53.0 中棄用。請使用 @stylistic/eslint-plugin-js 中對應的規則

JavaScript 允許您在分號前後放置不必要的空格。

禁止或強制在分號周圍加上空格可以提高程式碼的可讀性。

var a = "b" ;

var c = "d";var e = "f";

規則詳情

此規則旨在強制在分號周圍加上空格。此規則會阻止在表達式中的分號之前使用空格。

此規則不會檢查以下情況下的間距

  • 如果分號是該行的第一個符號,則分號後的間距。

  • 如果分號位於左括號(({)之後,或分號位於右括號()})之前,則分號前的間距。該間距由 space-in-parensblock-spacing 檢查。

  • 在條件為空的 for 迴圈(for(;;))中分號周圍的間距。

選項

該規則接受一個選項,一個物件,其中有兩個鍵 beforeafter,它們的值為布林值 truefalse。如果 beforetrue,則強制在分號之前加上空格;如果為 false,則禁止在分號之前加上空格。如果 aftertrue,則強制在分號之後加上空格;如果為 false,則禁止在分號之後加上空格。只有當分號不在行尾時,才會套用 after 選項。

預設值為 {"before": false, "after": true}

    "semi-spacing": ["error", {"before": false, "after": true}]

{"before": false, "after": true}

這是預設選項。它強制在分號之後加上空格,並禁止在分號之前加上空格。

此規則的錯誤程式碼範例

在遊樂場中開啟
/*eslint semi-spacing: "error"*/

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++) {}

此規則的正確程式碼範例

在遊樂場中開啟
/*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 中引入的。

資源

變更語言