逗号间距
强制在逗号前后使用一致的空格
🔧 可修复
此规则报告的一些问题可以通过--fix
命令行选项自动修复
此规则已在 ESLint v8.53.0 中**弃用**。请在对应的规则中使用@stylistic/eslint-plugin-js
。
逗号周围的空格提高了项目列表的可读性。尽管大多数语言的样式指南都规定在逗号后添加空格,而不是在逗号前添加空格,但这取决于项目的偏好。
var foo = 1, bar = 2;
var foo = 1 ,bar = 2;
规则详情
此规则强制在变量声明、数组字面量、对象字面量、函数参数和序列中的逗号前后使用一致的空格。
此规则不适用于以下任何一种情况
- 两个逗号之间
- 在起始方括号
[
和逗号之间,以避免与array-bracket-spacing
规则冲突 - 在逗号和结束方括号
]
之间,以避免与array-bracket-spacing
规则冲突 - 在逗号和结束花括号
}
之间,以避免与object-curly-spacing
规则冲突 - 在逗号和结束圆括号
)
之间,以避免与space-in-parens
规则冲突
选项
此规则具有一个对象选项
"before": false
(默认值)不允许在逗号前使用空格"before": true
要求在逗号前使用一个或多个空格"after": true
(默认值)要求在逗号后使用一个或多个空格"after": false
不允许在逗号后使用空格
after
使用默认{ "before": false, "after": true }
选项时,此规则的错误代码示例
在游乐场中打开
/*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 baz(a b){}
a b
使用默认{ "before": false, "after": true }
选项时,此规则的正确代码示例
在游乐场中打开
/*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 qur(a, b){}
a, b
使用默认{ "before": false, "after": true }
选项时,此规则的正确代码的其他示例
在游乐场中打开
/*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,)
before
使用{ "before": true, "after": false }
选项时,此规则的错误代码示例
在游乐场中打开
/*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 baz(a b){}
a b
使用{ "before": true, "after": false }
选项时,此规则的正确代码示例
在游乐场中打开
/*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 qur(a ,b){}
a ,b
何时不使用它
如果您的项目不遵循一致的逗号间距模式,请关闭此规则。
相关规则
版本
此规则在 ESLint v0.9.0 中引入。