space-in-parens
強制括號內的一致空格
此規則回報的一些問題可以透過 --fix
命令列選項自動修正
此規則已在 ESLint v8.53.0 中棄用。請使用 @stylistic/eslint-plugin-js
中對應的規則。
一些風格指南要求或禁止括號內的空格
foo( 'bar' );
var x = ( 1 + 2 ) * 3;
foo('bar');
var x = (1 + 2) * 3;
規則詳細資訊
此規則將強制括號內直接的空格一致,方法是禁止或要求 (
右側和 )
左側有一個或多個空格。
只要您不使用 "empty"
例外明確禁止空括號,()
將會被允許。
選項
此規則有兩個選項
"never"
(預設)強制括號內為零個空格"always"
強制括號內有一個空格
根據您的程式碼慣例,您可以透過在設定中指定來選擇任一選項
"space-in-parens": ["error", "always"]
“never”
此規則使用預設 "never"
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "never"]*/
foo();
foo('bar');
foo('bar');
foo('bar');
foo(/* bar */);
var foo = (1 + 2) * 3;
(function () { return 'bar'; }());
此規則使用預設 "never"
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "never"]*/
foo();
foo('bar');
foo(/* bar */);
var foo = (1 + 2) * 3;
(function () { return 'bar'; }());
“always”
此規則使用 "always"
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "always"]*/
foo( 'bar';
foo'bar' );
foo'bar';
foo/* bar */;
var foo = 1 + 2 * 3;
function () { return 'bar'; }();
此規則使用 "always"
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "always"]*/
foo();
foo( );
foo( 'bar' );
foo( /* bar */ );
var foo = ( 1 + 2 ) * 3;
( function () { return 'bar'; }() );
例外
物件字面值可用作第三個陣列項目來指定例外,索引鍵為 "exceptions"
,值為陣列。這些例外在第一個選項的內容中起作用。也就是說,如果設定 "always"
來強制空格,則任何「例外」都會禁止空格。相反地,如果設定 "never"
來禁止空格,則任何「例外」都會強制空格。
請注意,此規則僅強制括號內的空格;它不會檢查大括號或方括號內的空格,但如果這些括號緊鄰開括號或閉括號,則會強制或禁止這些括號的空格。
以下例外可用:["{}", "[]", "()", "empty"]
。
空例外
空括號例外和行為
always
允許()
和( )
never
(預設)要求()
always
例外empty
要求()
never
例外empty
要求( )
(此處禁止沒有空格的空括號)
範例
此規則使用 "never", { "exceptions": ["{}"] }
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/
foo{bar: 'baz'};
foo(1, {bar: 'baz'};
此規則使用 "never", { "exceptions": ["{}"] }
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/
foo( {bar: 'baz'} );
foo(1, {bar: 'baz'} );
此規則使用 "always", { "exceptions": ["{}"] }
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/
foo({bar: 'baz'});
foo( 1, {bar: 'baz'});
此規則使用 "always", { "exceptions": ["{}"] }
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/
foo({bar: 'baz'});
foo( 1, {bar: 'baz'});
此規則使用 "never", { "exceptions": ["[]"] }
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/
foo[bar, baz];
foo[bar, baz], 1);
此規則使用 "never", { "exceptions": ["[]"] }
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/
foo( [bar, baz] );
foo( [bar, baz], 1);
此規則使用 "always", { "exceptions": ["[]"] }
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/
foo([bar, baz]);
foo([bar, baz], 1 );
此規則使用 "always", { "exceptions": ["[]"] }
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/
foo([bar, baz]);
foo([bar, baz], 1 );
此規則使用 "never", { "exceptions": ["()"] }]
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/
foo(1 + 2);
foo(1 + 2), 1);
foo(bar();
此規則使用 "never", { "exceptions": ["()"] }]
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/
foo( (1 + 2) );
foo( (1 + 2), 1);
foo(bar() );
此規則使用 "always", { "exceptions": ["()"] }]
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/
foo(( 1 + 2 ));
foo(( 1 + 2 ), 1 );
此規則使用 "always", { "exceptions": ["()"] }]
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/
foo(( 1 + 2 ));
foo(( 1 + 2 ), 1 );
"empty"
例外與空括號有關,並且與其他例外的方式相同,反轉第一個選項。
此規則使用 "never", { "exceptions": ["empty"] }]
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/
foo;
此規則使用 "never", { "exceptions": ["empty"] }]
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/
foo( );
此規則使用 "always", { "exceptions": ["empty"] }]
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/
foo();
此規則使用 "always", { "exceptions": ["empty"] }]
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/
foo();
您可以在 "exceptions"
陣列中包含多個項目。
此規則使用 "always", { "exceptions": ["{}", "[]"] }]
選項時的不正確程式碼範例
/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/
bar({bar:'baz'});
baz( 1, [1,2]);
foo({bar: 'baz'}, [1, 2]);
此規則使用 "always", { "exceptions": ["{}", "[]"] }]
選項時的正確程式碼範例
/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/
bar({bar:'baz'});
baz( 1, [1,2]);
foo({bar: 'baz'}, [1, 2]);
何時不使用
如果您不關心括號之間空格的一致性,您可以關閉此規則。
相關規則
版本
此規則是在 ESLint v0.8.0 中引入的。