コンテンツへスキップ

@stylistic/

array-bracket-spacing

多くのスタイルガイドでは、配列ブラケットと他のトークン間のスペースの有無を規定しています。このルールは、配列リテラルとデストラクチャリング代入(ECMAScript 6)の両方に適用されます。

js
/*eslint-env es6*/

var arr = [ 'foo', 'bar' ];
var [ x, y ] = z;

var arr = ['foo', 'bar'];
var [x,y] = z;

ルール詳細

このルールは、配列ブラケット内のスペースの一貫性を強制します。

オプション

このルールには、文字列オプションがあります。

  • "never" (デフォルト) は、配列ブラケット内のスペースを許可しません。
  • "always" は、配列ブラケット内に1つ以上のスペースまたは改行を要求します。

このルールには、"never" オプションの例外に関するオブジェクトオプションがあります。

  • "singleValue": true は、単一要素を含む配列リテラルのブラケット内に1つ以上のスペースまたは改行を要求します。
  • "objectsInArrays": true は、配列リテラルのブラケットとそのオブジェクトリテラル要素のブレース[{ または }] の間に1つ以上のスペースまたは改行を要求します。
  • "arraysInArrays": true は、配列リテラルのブラケットとその配列リテラル要素のブラケット[[ または ]] の間に1つ以上のスペースまたは改行を要求します。

このルールには、"always" オプションの例外に関するオブジェクトオプションがあります。

  • "singleValue": false は、単一要素を含む配列リテラルのブラケット内のスペースを許可しません。
  • "objectsInArrays": false は、配列リテラルのブラケットとそのオブジェクトリテラル要素のブレース[{ または }] の間のスペースを許可しません。
  • "arraysInArrays": false は、配列リテラルのブラケットとその配列リテラル要素のブラケット[[ または ]] の間のスペースを許可しません。

このルールには、組み込みの例外があります。

  • "never"(および"always" オプションの例外)は、配列ブラケット内の改行を許可します。これは一般的なパターンだからです。
  • "always" は、空の配列リテラル[] にスペースまたは改行を要求しません。

never

デフォルトの"never" オプションを使用した、このルールの不正なコードの例

js
/*eslint @stylistic/array-bracket-spacing: ["error", "never"]*/
/*eslint-env es6*/

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" オプションを使用した、このルールの正しいコードの例

js
/*eslint @stylistic/array-bracket-spacing: ["error", "never"]*/
/*eslint-env es6*/

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" オプションを使用した、このルールの不正なコードの例

js
/*eslint @stylistic/array-bracket-spacing: ["error", "always"]*/
/*eslint-env es6*/

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" オプションを使用した、このルールの正しいコードの例

js
/*eslint @stylistic/array-bracket-spacing: ["error", "always"]*/
/*eslint-env es6*/

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 } オプションを使用した、このルールの不正なコードの例

js
/*eslint @stylistic/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 } オプションを使用した、このルールの正しいコードの例

js
/*eslint @stylistic/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 } オプションを使用した、このルールの不正なコードの例

js
/*eslint @stylistic/array-bracket-spacing: ["error", "always", { "objectsInArrays": false }]*/

var arr = [
{ 'foo': 'bar' }
];
var arr = [
{
'foo': 'bar' }
]
不正なコード

"always", { "objectsInArrays": false } オプションを使用した、このルールの正しいコードの例

js
/*eslint @stylistic/array-bracket-spacing: ["error", "always", { "objectsInArrays": false }]*/

var arr = [{ 'foo': 'bar' }];
var arr = [{
  'foo': 'bar'
}];
正しいコード

arraysInArrays

"always", { "arraysInArrays": false } オプションを使用した、このルールの不正なコードの例

js
/*eslint @stylistic/array-bracket-spacing: ["error", "always", { "arraysInArrays": false }]*/

var arr = [
[ 1, 2 ], 2, 3, 4 ];
var arr = [
[ 1, 2 ], 2, [ 3, 4 ]
];
不正なコード

"always", { "arraysInArrays": false } オプションを使用した、このルールの正しいコードの例

js
/*eslint @stylistic/array-bracket-spacing: ["error", "always", { "arraysInArrays": false }]*/

var arr = [[ 1, 2 ], 2, 3, 4 ];
var arr = [[ 1, 2 ], 2, [ 3, 4 ]];
正しいコード

使用しない場合

配列ブラケット間のスペースの一貫性を気にしない場合は、このルールをオフにすることができます。

MITライセンスの下でリリースされています。