Skip to main content

array-bracket-spacing

This rule enforces consistent spacing inside array brackets.
Rule Type: Layout
Fixable: Yes (automatically fixable)
Deprecated: Consider using Prettier

Rule Details

Some style guides require or disallow spaces inside array brackets:
var arr = [ 'foo', 'bar' ];  // spaces
var arr = ['foo', 'bar'];    // no spaces

Options

"never" (default)

Disallow spaces inside array brackets. Incorrect:
var arr = [ 'foo', 'bar' ];
var arr = ['foo', 'bar' ];
var arr = [ ['foo'], 'bar'];
var [ x, y ] = z;
Correct:
var arr = [];
var arr = ['foo', 'bar', 'baz'];
var arr = [['foo'], 'bar', 'baz'];
var arr = [
  'foo',
  'bar'
];
var [x, y] = z;

"always"

Require spaces inside array brackets. Incorrect:
var arr = ['foo', 'bar'];
var arr = ['foo', 'bar' ];
var [x, y] = z;
Correct:
var arr = [];
var arr = [ 'foo', 'bar', 'baz' ];
var arr = [ [ 'foo' ], 'bar', 'baz' ];
var arr = [
  'foo',
  'bar'
];
var [ x, y ] = z;

Exception Options

singleValue

Control spacing for single-element arrays.
// "always", { "singleValue": false }
var foo = ['foo'];  // OK - no spaces for single value
var foo = [ 'foo', 'bar' ];  // Spaces for multiple

objectsInArrays

Control spacing around objects in arrays.
// "always", { "objectsInArrays": false }
var arr = [{ 'foo': 'bar' }];  // No space before }
var arr = [ 'foo', { 'bar': 'baz' }, 'qux' ];  // Space elsewhere

arraysInArrays

Control spacing around nested arrays.
// "always", { "arraysInArrays": false }
var arr = [[ 1, 2 ], 2, 3, 4 ];  // No space before ]]
var arr = [ 1, [ 2, 3 ]];  // No space after [ before [

Configuration Examples

// No spaces (default)
{
  "rules": {
    "array-bracket-spacing": ["error", "never"]
  }
}

// Always spaces
{
  "rules": {
    "array-bracket-spacing": ["error", "always"]
  }
}

// With exceptions
{
  "rules": {
    "array-bracket-spacing": ["error", "always", {
      "singleValue": false,
      "objectsInArrays": false,
      "arraysInArrays": false
    }]
  }
}

When Not to Use It

Most teams now use Prettier for formatting. If you use Prettier, disable this rule.
Disable if:
  • You use Prettier or another formatter
  • You don’t care about spacing consistency
  • Your team hasn’t agreed on a style