コンテンツへスキップ

@stylistic/js/

semi-spacing

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

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

js
var a = "b" ;

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

ルール詳細

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

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

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

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

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

オプション

このルールは、1つのオプション(オブジェクト)を受け付けます。このオブジェクトには、ブール値trueまたはfalseを持つbeforeafterの2つのキーがあります。beforetrueの場合、セミコロンの前にスペースが強制され、falseの場合、セミコロンの前にスペースが禁止されます。aftertrueの場合、セミコロンの後にスペースが強制され、falseの場合、セミコロンの後にスペースが禁止されます。afterオプションは、セミコロンが行末にない場合にのみ適用されます。

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

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

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

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

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

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

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

js
/*eslint @stylistic/js/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}オプションを使用したこのルールの**不正な**コードの例

js
/*eslint @stylistic/js/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}オプションを使用したこのルールの**正しい**コードの例

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

使用しない場合

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

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