comma-spacing
カンマの前後の間隔は、項目リストの可読性を向上させます。 ほとんどの言語のスタイルガイドラインでは、カンマの後にスペースを追加し、前にスペースを追加しないように規定していますが、プロジェクトの好みに左右されます。
js
var foo = 1, bar = 2;
var foo = 1 ,bar = 2;
ルールの詳細
このルールは、変数宣言、配列リテラル、オブジェクトリテラル、関数パラメーター、およびシーケンスにおけるカンマの前後の間隔の整合性を強制します。
このルールは、次のいずれかの場合には適用されません
- 2つのカンマの間
- 開き括弧 `[` とカンマの間 (`array-bracket-spacing` ルールとの競合を避けるため)
- カンマと閉じ括弧 `]` の間 (`array-bracket-spacing` ルールとの競合を避けるため)
- カンマと閉じ中括弧 `}` の間 (`object-curly-spacing` ルールとの競合を避けるため)
- カンマと閉じ括弧 `)` の間 (`space-in-parens` ルールとの競合を避けるため)
オプション
このルールには、オブジェクトオプションがあります
- `"before": false` (デフォルト) カンマの前にスペースを入れることを禁止します
- `"before": true` カンマの前に1つ以上のスペースが必要です
- `"after": true` (デフォルト) カンマの後に1つ以上のスペースが必要です
- `"after": false` カンマの後にスペースを入れることを禁止します
after
デフォルトの `{ "before": false, "after": true }` オプションを使用したこのルールの**誤った**コードの例
js
/*eslint @stylistic/comma-spacing: ["error", { "before": false, "after": true }]*/
var foo = 1 ,bar = 2;
var arr = [1 , 2];
var obj = {"foo": "bar" ,"baz": "qur"};
foo(a ,b);
new Foo(a ,b);
function baz(a ,b){}
a ,b
誤り
デフォルトの `{ "before": false, "after": true }` オプションを使用したこのルールの**正しい**コードの例
js
/*eslint @stylistic/comma-spacing: ["error", { "before": false, "after": true }]*/
var foo = 1, bar = 2
, baz = 3;
var arr = [1, 2];
var arr = [1,, 3]
var obj = {"foo": "bar", "baz": "qur"};
foo(a, b);
new Foo(a, b);
function qur(a, b){}
a, b
正しい
デフォルトの `{ "before": false, "after": true }` オプションを使用したこのルールの**正しい**コードの追加例
js
/*eslint @stylistic/comma-spacing: ["error", { "before": false, "after": true }]*/
// this rule does not enforce spacing between two commas
var arr = [
,,
, ,
];
// this rule does not enforce spacing after `[` and before `]`
var arr = [,];
var arr = [ , ];
var arr = [a, b,];
[,] = arr;
[ , ] = arr;
[a, b,] = arr;
// this rule does not enforce spacing before `}`
var obj = {x, y,};
var {z, q,} = obj;
import {foo, bar,} from "mod";
// this rule does not enforce spacing before `)`
foo(a, b,)
正しい
before
`{ "before": true, "after": false }` オプションを使用したこのルールの**誤った**コードの例
js
/*eslint @stylistic/comma-spacing: ["error", { "before": true, "after": false }]*/
var foo = 1, bar = 2;
var arr = [1 , 2];
var obj = {"foo": "bar", "baz": "qur"};
new Foo(a,b);
function baz(a,b){}
a, b
誤り
`{ "before": true, "after": false }` オプションを使用したこのルールの**正しい**コードの例
js
/*eslint @stylistic/comma-spacing: ["error", { "before": true, "after": false }]*/
var foo = 1 ,bar = 2 ,
baz = true;
var arr = [1 ,2];
var arr = [1 ,,3]
var obj = {"foo": "bar" ,"baz": "qur"};
foo(a ,b);
new Foo(a ,b);
function qur(a ,b){}
a ,b
正しい
使用しない場合
プロジェクトで一貫したカンマ間隔パターンに従わない場合は、このルールをオフにします。