Spec-Zone.ru › ESLint

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":

Открыть в Playground
/*eslint space-in-parens: ["error", "never"]*/

foo();

foo('bar');
foo('bar');
foo('bar');

foo(/* bar */);

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

Примеры правильного кода для этого правила с параметром по умолчанию "never":

Открыть в Playground
/*eslint space-in-parens: ["error", "never"]*/

foo();

foo('bar');

foo(/* bar */);

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

“always”

Примеры неправильного кода для этого правила с параметром "always":

Открыть в Playground
/*eslint space-in-parens: ["error", "always"]*/

foo( 'bar');
foo('bar' );
foo('bar');

foo(/* bar */);

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

Примеры правильного кода для этого правила с параметром "always":

Открыть в Playground
/*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": ["{}"] }:

Открыть в Playground
/*eslint space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/

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

Примеры правильного кода для этого правила с параметром "never", { "exceptions": ["{}"] }:

Открыть в Playground
/*eslint space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/

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

Примеры неправильного кода для этого правила с параметром "always", { "exceptions": ["{}"] }:

Открыть в Playground
/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/

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

Примеры правильного кода для этого правила с параметром "always", { "exceptions": ["{}"] }:

Открыть в Playground
/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/

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

Примеры неправильного кода для этого правила с параметром "never", { "exceptions": ["[]"] }:

Открыть в Playground
/*eslint space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/

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

Примеры правильного кода для этого правила с параметром "never", { "exceptions": ["[]"] }:

Открыть в Playground
/*eslint space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/

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

Примеры неправильного кода для этого правила с параметром "always", { "exceptions": ["[]"] }:

Открыть в Playground
/*eslint space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/

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

Примеры правильного кода для этого правила с параметром "always", { "exceptions": ["[]"] }:

Открыть в Playground
/*eslint space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/

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

Примеры неправильного кода для этого правила с параметром "never", { "exceptions": ["()"] }]:

Открыть в Playground
/*eslint space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/

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

Примеры правильного кода для этого правила с параметром "never", { "exceptions": ["()"] }]:

Открыть в Playground
/*eslint space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/

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

Примеры неправильного кода для этого правила с параметром "always", { "exceptions": ["()"] }]:

Открыть в Playground
/*eslint space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/

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

Примеры правильного кода для этого правила с параметром "always", { "exceptions": ["()"] }]:

Открыть в Playground
/*eslint space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/

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

Исключение "empty" касается пустых скобок и работает так же, как и другие исключения, инвертируя первый вариант.

Пример неправильного кода для этой правила с параметром "never", { "exceptions": ["empty"] }]:

Открыть в Playground
/*eslint space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/

foo();

Пример правильного кода для этой правила с параметром "never", { "exceptions": ["empty"] }]:

Открыть в Playground
/*eslint space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/

foo( );

Пример неправильного кода для этой правила с параметром "always", { "exceptions": ["empty"] }]:

Открыть в Playground
/*eslint space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/

foo();

Пример правильного кода для этой правила с параметром "always", { "exceptions": ["empty"] }]:

Открыть в Playground
/*eslint space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/

foo();

Можно включить несколько записей в массив "exceptions".

Примеры неправильного кода для этой правила с параметром "always", { "exceptions": ["{}", "[]"] }]:

Открыть в Playground
/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/

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

Примеры правильного кода для этой правила с параметром "always", { "exceptions": ["{}", "[]"] }]:

Открыть в Playground
/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/

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

Когда не следует использовать

Можно отключить это правило, если вас не беспокоит согласованность отступов между скобками.

Связанные правила

  • array-bracket-spacing
  • object-curly-spacing
  • computed-property-spacing

Версия

Это правило было введено в ESLint v0.8.0.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/space-in-parens

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API