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.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/space-in-parens