array-bracket-spacing
强制数组括号内空格的一致性
🔧 可修复
此规则报告的一些问题可以通过 --fix
命令行 选项自动修复
许多风格指南要求或禁止在数组括号和其他标记之间使用空格。此规则适用于数组字面量和解构赋值 (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"
选项时此规则的 错误 代码示例
在 Playground 中打开
/*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"
选项时此规则的 正确 代码示例
在 Playground 中打开
/*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"
选项时此规则的 错误 代码示例
在 Playground 中打开
/*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"
选项时此规则的 正确 代码示例
在 Playground 中打开
/*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 }
选项时此规则的 错误 代码示例
在 Playground 中打开
/*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 }
选项时此规则的 正确 代码示例
在 Playground 中打开
/*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 }
选项时此规则的 错误 代码示例
在 Playground 中打开
/*eslint array-bracket-spacing: ["error", "always", { "objectsInArrays": false }]*/
var arr = [{ 'foo': 'bar' }];
var arr = [{
'foo': 'bar'
}]
使用 "always", { "objectsInArrays": false }
选项时此规则的 正确 代码示例
在 Playground 中打开
/*eslint array-bracket-spacing: ["error", "always", { "objectsInArrays": false }]*/
var arr = [{ 'foo': 'bar' }];
var arr = [{
'foo': 'bar'
}];
arraysInArrays
使用 "always", { "arraysInArrays": false }
选项时此规则的 错误 代码示例
在 Playground 中打开
/*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 }
选项时此规则的 正确 代码示例
在 Playground 中打开
/*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 中引入。