space-in-parens
スタイルガイドによっては、括弧内のスペースが必要な場合と不要な場合があります。
foo( 'bar' );
var x = ( 1 + 2 ) * 3;
foo('bar');
var x = (1 + 2) * 3;
ルールの詳細
このルールは、`(` の直後と `)` の直前のスペースを 1 つ以上許可または禁止することで、括弧内のスペースの整合性を強制します。
`"empty"` 例外を使用して空の括弧を明示的に禁止しない限り、`()` は許可されます。
オプション
このルールには 2 つのオプションがあります。
- `“never”`(デフォルト)は、括弧内のスペースをゼロに強制します。
- `“always”`は、括弧内にスペースを強制します。
コーディング規約に応じて、設定で指定することでいずれかのオプションを選択できます。
"space-in-parens": ["error", "always"]
`"never"`
デフォルトの `"never"` オプションでこのルールに違反するコードの例
/*eslint @stylistic/space-in-parens: ["error", "never"]*/
foo( );
foo( 'bar');
foo('bar' );
foo( 'bar' );
foo( /* bar */ );
var foo = ( 1 + 2 ) * 3;
( function () { return 'bar'; }() );
デフォルトの `"never"` オプションでこのルールに準拠するコードの例
/*eslint @stylistic/space-in-parens: ["error", "never"]*/
foo();
foo('bar');
foo(/* bar */);
var foo = (1 + 2) * 3;
(function () { return 'bar'; }());
`"always"`
`"always"` オプションでこのルールに違反するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always"]*/
foo( 'bar');
foo('bar' );
foo('bar');
foo(/* bar */);
var foo = (1 + 2) * 3;
(function () { return 'bar'; }());
`"always"` オプションでこのルールに準拠するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always"]*/
foo();
foo( );
foo( 'bar' );
foo( /* bar */ );
var foo = ( 1 + 2 ) * 3;
( function () { return 'bar'; }() );
例外
オブジェクトリテラルは、3 番目の配列項目として使用して、キー `"exceptions"` と値として配列を使用して例外を指定できます。 これらの例外は、最初のオプションのコンテキストで機能します。 つまり、`"always"` が間隔を強制するように設定されている場合、例外は間隔を *許可しません*。 逆に、`"never"` が間隔を許可しないように設定されている場合、例外は間隔を *強制します*。
このルールは括弧内のスペースのみを強制することに注意してください。 中括弧または角括弧内のスペースはチェックしませんが、開始括弧または閉じ括弧に隣接している場合に限り、それらの括弧の間隔を強制または禁止します。
次の例外が利用可能です:`["{}", "[]", "()", "empty"]`。
空の例外
空の括弧の例外と動作
- `always` は `()` と `( )` の両方を許可します
- `never` (デフォルト) は `()` を必須とします
- `always` で `empty` を除外すると `()` が必須となります
- `never` で `empty` を除外すると `( )` が必須となります (スペースのない空の括弧はここで禁止されます)
例
`"never", { "exceptions": ["{}"] }` オプションでこのルールに違反するコードの例
/*eslint @stylistic/space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/
foo({bar: 'baz'});
foo(1, {bar: 'baz'});
`"never", { "exceptions": ["{}"] }` オプションでこのルールに準拠するコードの例
/*eslint @stylistic/space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/
foo( {bar: 'baz'} );
foo(1, {bar: 'baz'} );
`"always", { "exceptions": ["{}"] }` オプションでこのルールに違反するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/
foo( {bar: 'baz'} );
foo( 1, {bar: 'baz'} );
`"always", { "exceptions": ["{}"] }` オプションでこのルールに準拠するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/
foo({bar: 'baz'});
foo( 1, {bar: 'baz'});
`“never”, {“exceptions”:[“[]”]} `オプションでこのルールに**違反**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/
foo([bar, baz]);
foo([bar, baz], 1);
`“never”, {“exceptions”:[“[]”]} `オプションでこのルールに**準拠**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/
foo( [bar, baz] );
foo( [bar, baz], 1);
`“always”, {“exceptions”:[“[]”]} `オプションでこのルールに**違反**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/
foo( [bar, baz] );
foo( [bar, baz], 1 );
`“always”, {“exceptions”:[“[]”]} `オプションでこのルールに**準拠**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/
foo([bar, baz]);
foo([bar, baz], 1 );
`“never”, {“exceptions”:[“()”]}]`オプションでこのルールに**違反**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/
foo((1 + 2));
foo((1 + 2), 1);
foo(bar());
`“never”, {“exceptions”:[“()”]}]`オプションでこのルールに**準拠**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/
foo( (1 + 2) );
foo( (1 + 2), 1);
foo(bar() );
`“always”, {“exceptions”:[“()”]}]`オプションでこのルールに**違反**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/
foo( ( 1 + 2 ) );
foo( ( 1 + 2 ), 1 );
`“always”, {“exceptions”:[“()”]}]`オプションでこのルールに**準拠**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/
foo(( 1 + 2 ));
foo(( 1 + 2 ), 1 );
`"empty"` 例外は空の括弧に関係し、他の例外と同じように機能し、最初のオプションを反転させます。
`"never", {"exceptions": ["empty"]}` オプションでこのルールに**違反**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/
foo();
`"never", {"exceptions": ["empty"]}` オプションでこのルールに**準拠**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/
foo( );
`"always", {"exceptions": ["empty"]}` オプションでこのルールに**違反**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/
foo( );
`"always", {"exceptions": ["empty"]}` オプションでこのルールに**準拠**するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/
foo();
`"exceptions"` 配列に複数のエントリを含めることができます。
`"always", { "exceptions": ["{}", "[]"] }` オプションでこのルールに違反するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/
bar( {bar:'baz'} );
baz( 1, [1,2] );
foo( {bar: 'baz'}, [1, 2] );
`"always", { "exceptions": ["{}", "[]"] }` オプションでこのルールに準拠するコードの例
/*eslint @stylistic/space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/
bar({bar:'baz'});
baz( 1, [1,2]);
foo({bar: 'baz'}, [1, 2]);
使用しない場合
括弧間のスペースの整合性に関心がない場合は、このルールを無効にすることができます。