The --fix
option on the command line can automatically fix some of the problems reported by this rule.
Spacing around commas improve 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 an ArrayExpression
or ArrayPattern
in either of the following cases:
array-bracket-spacing
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
Example of correct code for this rule with initial null element for the default { "before": false, "after": true }
options:
/*eslint comma-spacing: ["error", { "before": false, "after": true }]*/ /*eslint array-bracket-spacing: ["error", "always"]*/ var arr = [ , 2, 3 ]
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
Examples of correct code for this rule with initial null element for the { "before": true, "after": false }
options:
/*eslint comma-spacing: ["error", { "before": true, "after": false }]*/ /*eslint array-bracket-spacing: ["error", "never"]*/ var arr = [,2 ,3]
If your project will not be following a consistent comma-spacing pattern, turn this rule off.
This rule was introduced in ESLint 0.9.0.
© JS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/rules/comma-spacing