Пробелы внутри скобок массива
Принудительно соблюдать согласованное расстояние внутри скобок массива
Некоторые проблемы, обнаруженные этим правилом, автоматически исправимы с помощью опции --fix командной строки
Это правило было устаревшим в ESLint v8.53.0. Используйте соответствующее правило соответствующее правило в @stylistic/eslint-plugin-js.
Некоторые руководства по стилю требуют или запрещают пробелы между скобками массива и другими токенами. Это правило применяется как к литералам массива, так и к операциям деструктуризации (ECMAScript 6).
var arr = [ 'foo', 'bar' ];
var [ x, y ] = z;
var arr = ['foo', 'bar'];
var [x,y] = z;
Подробное описание правила
Это правило принуждает к согласованному расположению пробелов внутри скобок массива.
Опции
Это правило имеет строковую опцию:
-
"never"(по умолчанию) запрещает пробелы внутри скобок массива -
"always"требует один или более пробелов или переносов строк внутри скобок массива
Это правило имеет опцию объекта для исключений из опции "never":
-
"singleValue": trueтребует один или более пробелов или переносов строк внутри скобок литерала массива, содержащего один элемент -
"objectsInArrays": trueтребует один или более пробелов или переносов строк между скобками литерала массива и фигурными скобками элементов-литералов объекта[ {или} ] -
"arraysInArrays": trueтребует один или более пробелов или переносов строк между скобками литерала массива и скобками элементов-литералов массива[ [или] ]
Это правило имеет опцию объекта для исключений из опции "always":
-
"singleValue": falseзапрещает пробелы внутри скобок литерала массива, содержащего один элемент -
"objectsInArrays": falseзапрещает пробелы между скобками литерала массива и фигурными скобками элементов-литералов объекта[{или}] -
"arraysInArrays": falseзапрещает пробелы между скобками литерала массива и скобками элементов-литералов массива[[или]]
Это правило имеет встроенные исключения:
-
"never"(а также исключения из опции"always") допускает переносы строк внутри скобок массива, так как это распространённая практика -
"always"не требует пробелов или переносов строк в пустых литералах массива[]
never
Примеры неправильного кода для этого правила с опцией по умолчанию "never":
/*eslint array-bracket-spacing: ["error", "never"]*/
var arr = ['foo', 'bar'];
var arr = ['foo', 'bar'];
var arr = [['foo'], 'bar'];
var arr = [['foo'], 'bar'];
var arr = ['foo',
'bar'
];
var [x, y] = z;
var [x,y] = z;
var [x, ...y] = z;
var [,,x,] = z;
Примеры правильного кода для этого правила с опцией по умолчанию "never":
/*eslint array-bracket-spacing: ["error", "never"]*/
var arr = [];
var arr = ['foo', 'bar', 'baz'];
var arr = [['foo'], 'bar', 'baz'];
var arr = [
'foo',
'bar',
'baz'
];
var arr = ['foo',
'bar'
];
var arr = [
'foo',
'bar'];
var [x, y] = z;
var [x,y] = z;
var [x, ...y] = z;
var [,,x,] = z;
always
Примеры неправильного кода для этого правила с опцией "always":
/*eslint array-bracket-spacing: ["error", "always"]*/
var arr = 'foo', 'bar';
var arr = 'foo', 'bar' ];
var arr = [ 'foo', 'bar' ];
var arr = 'foo',
'bar'
];
var arr = [
'foo',
'bar';
var x, y = z;
var x,y = z;
var x, ...y = z;
var ,,x, = z;
Примеры правильного кода для этого правила с опцией "always":
/*eslint array-bracket-spacing: ["error", "always"]*/
var arr = [];
var arr = [ 'foo', 'bar', 'baz' ];
var arr = [ [ 'foo' ], 'bar', 'baz' ];
var arr = [ 'foo',
'bar'
];
var arr = [
'foo',
'bar' ];
var arr = [
'foo',
'bar',
'baz'
];
var [ x, y ] = z;
var [ x,y ] = z;
var [ x, ...y ] = z;
var [ ,,x, ] = z;
singleValue
Примеры неправильного кода для этого правила с опциями "always", { "singleValue": false }:
/*eslint array-bracket-spacing: ["error", "always", { "singleValue": false }]*/
var foo = ['foo'];
var foo = ['foo'];
var foo = ['foo'];
var foo = [1];
var foo = [1];
var foo = [1];
var foo = [[ 1, 2 ]];
var foo = [{ 'foo': 'bar' }];
Примеры правильного кода для этого правила с опциями "always", { "singleValue": false }:
/*eslint array-bracket-spacing: ["error", "always", { "singleValue": false }]*/
var foo = ['foo'];
var foo = [1];
var foo = [[ 1, 1 ]];
var foo = [{ 'foo': 'bar' }];
objectsInArrays
Примеры неправильного кода для этого правила с опциями "always", { "objectsInArrays": false }:
/*eslint array-bracket-spacing: ["error", "always", { "objectsInArrays": false }]*/
var arr = [{ 'foo': 'bar' }];
var arr = [{
'foo': 'bar'
}]
Примеры правильного кода для этого правила с опциями "always", { "objectsInArrays": false }:
/*eslint array-bracket-spacing: ["error", "always", { "objectsInArrays": false }]*/
var arr = [{ 'foo': 'bar' }];
var arr = [{
'foo': 'bar'
}];
arraysInArrays
Примеры неправильного кода для этого правила с опциями "always", { "arraysInArrays": false }:
/*eslint array-bracket-spacing: ["error", "always", { "arraysInArrays": false }]*/
var arr = [[ 1, 2 ], 2, 3, 4 ];
var arr = [[ 1, 2 ], 2, [ 3, 4 ]];
Примеры правильного кода для этого правила с опциями "always", { "arraysInArrays": false }:
/*eslint array-bracket-spacing: ["error", "always", { "arraysInArrays": false }]*/
var arr = [[ 1, 2 ], 2, 3, 4 ];
var arr = [[ 1, 2 ], 2, [ 3, 4 ]];
Когда не стоит его использовать
Вы можете отключить это правило, если не заботитесь о согласованности пробелов между скобками массива.
Связанные правила
Версия
Это правило было добавлено в ESLint v0.24.0.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/array-bracket-spacing