コンテンツへスキップ

@stylistic/

semi-spacing

JavaScriptでは、セミコロンの前後には不要なスペースを入れることができます。

セミコロンの前後のスペースを許可または禁止することで、プログラムの可読性を向上させることができます。

js
var a = "b" ;

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

ルール詳細

このルールは、セミコロンの前後のスペースを強制することを目的としています。このルールは、式におけるセミコロンの前へのスペースの使用を禁止します。

このルールは、以下のケースではスペースをチェックしません。

  • セミコロンがその行の最初のトークンである場合の、セミコロン後のスペース。

  • セミコロンが左括弧(`(`または`{`)の後にある場合のセミコロン前のスペース、またはセミコロンが右括弧(`)`または`}`)の前にある場合のセミコロン後のスペース。これらのスペースは、`space-in-parens`または`block-spacing`によってチェックされます。

  • 空の条件を持つforループ(`for(;;)`)内のセミコロンの前後のスペース。

オプション

このルールは、`before`と`after`という2つのキーを持つオブジェクトを1つのオプションとして受け取ります。これらのキーには、ブール値`true`または`false`が入ります。`before`が`true`の場合、セミコロンの前にスペースが強制され、`false`の場合、セミコロンの前にスペースが禁止されます。`after`が`true`の場合、セミコロンの後にスペースが強制され、`false`の場合、セミコロンの後にスペースが禁止されます。`after`オプションは、セミコロンが行末にない場合にのみ適用されます。

デフォルトは`{"before": false, "after": true}`です。

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

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

これはデフォルトのオプションです。セミコロンの後のスペースを強制し、セミコロンの前へのスペースを禁止します。

このルールの**不正な**コードの例

js
/*eslint @stylistic/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++) {}
incorrect

このルールの**正しい**コードの例

js
/*eslint @stylistic/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();
correct

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

このオプションは、セミコロンの前にスペースを強制し、セミコロンの後のスペースを禁止します。

`{"before": true, "after": false}`オプションを使用したこのルールの**不正な**コードの例

js
/*eslint @stylistic/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++) {}
incorrect

`{"before": true, "after": false}`オプションを使用したこのルールの**正しい**コードの例

js
/*eslint @stylistic/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++) {}
correct

使用しない場合

セミコロンの前後におけるスペースの一貫性を気にしない場合は、このルールをオフにすることができます。

MITライセンスの下でリリースされています。