Enforce consistent spacing before and after commas
Some problems reported by this rule are automatically fixable by the --fix command line option
Spacing around commas improves readability of a list of items. Although most of the style guidelines for languages prescribe adding a space after a comma and not before it, it is subjective to the preferences of a project.
var foo = 1, bar = 2;
var foo = 1 ,bar = 2;
This rule enforces consistent spacing before and after commas in variable declarations, array literals, object literals, function parameters, and sequences.
This rule does not apply in either of the following cases:
[ and comma, to avoid conflicts with the array-bracket-spacing rule], to avoid conflicts with the array-bracket-spacing rule}, to avoid conflicts with the object-curly-spacing rule), to avoid conflicts with the space-in-parens ruleThis rule has an object option:
"before": false (default) disallows spaces before commas"before": true requires one or more spaces before commas"after": true (default) requires one or more spaces after commas"after": false disallows spaces after commasExamples of incorrect code for this rule with the default { "before": false, "after": true } options:
/*eslint comma-spacing: ["error", { "before": false, "after": true }]*/
var foo = 1 ,bar = 2;
var arr = [1 , 2];
var obj = {"foo": "bar" ,"baz": "qur"};
foo(a ,b);
new Foo(a ,b);
function foo(a ,b){}
a ,b
Examples of correct code for this rule with the default { "before": false, "after": true } options:
/*eslint comma-spacing: ["error", { "before": false, "after": true }]*/
var foo = 1, bar = 2
, baz = 3;
var arr = [1, 2];
var arr = [1,, 3]
var obj = {"foo": "bar", "baz": "qur"};
foo(a, b);
new Foo(a, b);
function foo(a, b){}
a, b
Additional examples of correct code for this rule with the default { "before": false, "after": true } options:
/*eslint comma-spacing: ["error", { "before": false, "after": true }]*/
// this rule does not enforce spacing between two commas
var arr = [
,,
, ,
];
// this rule does not enforce spacing after `[` and before `]`
var arr = [,];
var arr = [ , ];
var arr = [a, b,];
[,] = arr;
[ , ] = arr;
[a, b,] = arr;
// this rule does not enforce spacing before `}`
var obj = {x, y,};
var {z, q,} = obj;
import {foo, bar,} from "mod";
// this rule does not enforce spacing before `)`
foo(a, b,)
Examples of incorrect code for this rule with the { "before": true, "after": false } options:
/*eslint comma-spacing: ["error", { "before": true, "after": false }]*/
var foo = 1, bar = 2;
var arr = [1 , 2];
var obj = {"foo": "bar", "baz": "qur"};
new Foo(a,b);
function foo(a,b){}
a, b
Examples of correct code for this rule with the { "before": true, "after": false } options:
/*eslint comma-spacing: ["error", { "before": true, "after": false }]*/
var foo = 1 ,bar = 2 ,
baz = true;
var arr = [1 ,2];
var arr = [1 ,,3]
var obj = {"foo": "bar" ,"baz": "qur"};
foo(a ,b);
new Foo(a ,b);
function foo(a ,b){}
a ,b
If your project will not be following a consistent comma-spacing pattern, turn this rule off.
This rule was introduced in ESLint v0.9.0.
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/comma-spacing