Eslint
规则 | Rules

comma-spacing

强制逗号间隔(逗号间距)

--fix命令行上的选项可以自动修复一些被这条规则反映的问题。

逗号周围的间距提高了项目列表的可读性。尽管大多数语言的样式准则规定在逗号之后添加一个空格,但不在其之前,这对项目的偏好是主观的。

var foo = 1, bar = 2; var foo = 1 ,bar = 2;

规则细节

规则在变量声明,数组文字,对象文字,函数参数和序列中的逗号前后加上一致的间距。

这条规则不适用的ArrayExpressionArrayPattern在以下任一情况:

  • 相邻的空元素

  • 一个初始的 null 元素,以避免与array-bracket-spacing规则冲突

选项

规则有一个对象选项:

  • "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 foo(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 foo(a, b){} a, b

{ "before": false, "after": true }规则的正确代码示例,默认选项为初始 null 元素:

/*eslint comma-spacing: ["error", { "before": false, "after": true }]*/ /*eslint array-bracket-spacing: ["error", "always"]*/ var arr = [ , 2, 3 ]

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 foo(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 foo(a ,b){} a ,b

{ "before": true, "after": false }规则的正确代码示例,其中包含以下选项的初始空元素:

/*eslint comma-spacing: ["error", { "before": true, "after": false }]*/ /*eslint array-bracket-spacing: ["error", "never"]*/ var arr = [,2 ,3]

何时不使用它

如果您的项目不符合一致的逗号间隔模式,请关闭此规则。

进一步阅读

相关规则

  • array-bracket-spacing

  • comma-style

  • space-in-brackets (deprecated)

  • space-in-parens

  • space-infix-ops

  • space-after-keywords

  • space-unary-ops

  • space-return-throw-case

版本

规则在ESLint 0.9.0中引入。

资源