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.
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:
Examples of correct code for this rule with the default { "before": false, "after": true }
options:
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:
Examples of correct code for this rule with the { "before": true, "after": false }
options:
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