コンテンツにスキップ

@stylistic/js/

space-in-parens

スタイルガイドによっては、括弧内のスペースが必要な場合と不要な場合があります。

js
foo( 'bar' );
var x = ( 1 + 2 ) * 3;

foo('bar');
var x = (1 + 2) * 3;

ルールの詳細

このルールは、( の直後と ) の直前にスペースを 1 つ以上必須または禁止することで、括弧内のスペースの統一性を強制します。

"empty" 例外を使用して空の括弧を明示的に禁止しない限り、() は許可されます。

オプション

このルールには2つのオプションがあります。

  • "never" (デフォルト) は括弧内のスペースをゼロに強制します。
  • "always" は括弧内にスペースを強制します。

コーディング規約に応じて、設定でいずれかのオプションを指定できます。

json
"space-in-parens": ["error", "always"]

"never"

デフォルトの "never" オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "never"]*/

foo(
);
foo(
'bar');
foo('bar'
);
foo(
'bar'
);
foo(
/* bar */
);
var foo = (
1 + 2
) * 3;
(
function () { return 'bar'; }()
);
誤り

デフォルトの "never" オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "never"]*/

foo();

foo('bar');

foo(/* bar */);

var foo = (1 + 2) * 3;
(function () { return 'bar'; }());
正しい

"always"

"always" オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always"]*/

foo( 'bar'
)
;
foo
(
'bar' );
foo
(
'bar'
)
;
foo
(
/* bar */
)
;
var foo =
(
1 + 2
)
* 3;
(
function () { return 'bar'; }()
)
;
誤り

"always" オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/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 (デフォルト) は () を必須とします。
  • alwaysempty を除外すると () が必須となります。
  • neverempty を除外すると ( ) が必須となります (スペースのない空の括弧はここでは禁止されています)。

"never", { "exceptions": ["{}"] } オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/

foo
(
{bar: 'baz'}
)
;
foo(1, {bar: 'baz'}
)
;
誤り

"never", { "exceptions": ["{}"] } オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/

foo( {bar: 'baz'} );
foo(1, {bar: 'baz'} );
正しい

"always", { "exceptions": ["{}"] } オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/

foo(
{bar: 'baz'}
);
foo( 1, {bar: 'baz'}
);
誤り

"always", { "exceptions": ["{}"] } オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/

foo({bar: 'baz'});
foo( 1, {bar: 'baz'});
正しい

"never", { "exceptions": ["[]"] } オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/

foo
(
[bar, baz]
)
;
foo
(
[bar, baz], 1);
誤り

"never", { "exceptions": ["[]"] } オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/

foo( [bar, baz] );
foo( [bar, baz], 1);
正しい

"always", { "exceptions": ["[]"] } オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/

foo(
[bar, baz]
);
foo(
[bar, baz], 1 );
誤り

"always", { "exceptions": ["[]"] } オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/

foo([bar, baz]);
foo([bar, baz], 1 );
正しい

"never", { "exceptions": ["()"] }] オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/

foo
(
(1 + 2)
)
;
foo
(
(1 + 2), 1);
foo(bar()
)
;
誤り

"never", { "exceptions": ["()"] }] オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/

foo( (1 + 2) );
foo( (1 + 2), 1);
foo(bar() );
正しい

"always", { "exceptions": ["()"] }] オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/

foo(
( 1 + 2 )
);
foo(
( 1 + 2 ), 1 );
誤り

"always", { "exceptions": ["()"] }] オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/

foo(( 1 + 2 ));
foo(( 1 + 2 ), 1 );
正しい

"empty" 例外は空の括弧に関連し、他の例外と同じように機能し、最初のオプションを反転させます。

"never", { "exceptions": ["empty"] }] オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/

foo
(
)
;
誤り

"never", { "exceptions": ["empty"] }] オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/

foo( );
正しい

"always", { "exceptions": ["empty"] }] オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/

foo(
);
誤り

"always", { "exceptions": ["empty"] }] オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/

foo();
正しい

"exceptions" 配列に複数のエントリを含めることができます。

"always", { "exceptions": ["{}", "[]"] }] オプションでこのルールに違反するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/

bar(
{bar:'baz'}
);
baz( 1, [1,2]
);
foo(
{bar: 'baz'}, [1, 2]
);
誤り

"always", { "exceptions": ["{}", "[]"] }] オプションでこのルールに準拠するコードの例

js
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/

bar({bar:'baz'});
baz( 1, [1,2]);
foo({bar: 'baz'}, [1, 2]);
正しい

使用しない場合

括弧間のスペースの整合性を気にしない場合は、このルールを無効にすることができます。

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