Eslint
规则 | Rules

space-in-parens

禁止或强制执行括号内的空格(空格键)

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

一些风格指南需要或不允许使用括号内的空格:

foo( 'bar' var x = ( 1 + 2 ) * 3; foo('bar' var x = (1 + 2) * 3;

规则细节

此规则将强制直接在括号内进行间隔的一致性,即禁止或要求右侧(和左侧有一个或多个空格)。无论如何,()仍然会被允许。

选项

该规则有两种选择:

  • "never" (默认)在圆括号内强制使用零空格

  • "always" 在括号内强制使用空格

根据您的编码惯例,您可以通过在您的配置中指定它来选择任一选项:

"space-in-parens": ["error", "always"]

“never”

此规则的默认"never"代码错误代码示例:

/*eslint space-in-parens: ["error", "never"]*/ foo( 'bar' foo('bar' foo( 'bar' var foo = ( 1 + 2 ) * 3; ( function () { return 'bar'; }()

具有默认选项的此规则的正确代码示例"never"

/*eslint space-in-parens: ["error", "never"]*/ foo( foo('bar' var foo = (1 + 2) * 3; (function () { return 'bar'; }()

“always”

此规则的错误代码示例包含以下"always"选项:

/*eslint space-in-parens: ["error", "always"]*/ foo( 'bar' foo('bar' foo('bar' var foo = (1 + 2) * 3; (function () { return 'bar'; }()

此规则的正确代码示例包含以下"always"选项:

/*eslint space-in-parens: ["error", "always"]*/ foo( foo( 'bar' var foo = ( 1 + 2 ) * 3; ( function () { return 'bar'; }()

例外

对象字面量可以用作第三个数组项来指定异常,将键"exceptions"和数组作为值。这些例外在第一种选择的情况下起作用。也就是说,如果"always"设置为强制间隔,那么任何“例外”都将禁止间距。相反,如果"never"设置为禁止间隔,则任何“例外”都会强制间隔。

以下例外情况可供使用:["{}", "[]", "()", "empty"]

此规则的错误代码示例包含以下"never", { "exceptions": ["{}"] }选项:

/*eslint space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/ foo{bar: 'baz'} foo(1, {bar: 'baz'}

此规则的正确代码示例包含以下"never", { "exceptions": ["{}"] }选项:

/*eslint space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/ foo( {bar: 'baz'} foo(1, {bar: 'baz'}

此规则的错误代码示例包含以下"always", { "exceptions": ["{}"] }选项:

/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/ foo( {bar: 'baz'} foo( 1, {bar: 'baz'}

此规则的正确代码示例包含以下"always", { "exceptions": ["{}"] }选项:

/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/ foo{bar: 'baz'} foo( 1, {bar: 'baz'}

此规则的错误代码示例包含以下"never", { "exceptions": ["[]"] }选项:

/*eslint space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/ foo([bar, baz] foo([bar, baz], 1

此规则的正确代码示例包含以下"never", { "exceptions": ["[]"] }选项:

/*eslint space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/ foo( [bar, baz] foo( [bar, baz], 1

此规则的错误代码示例包含以下"always", { "exceptions": ["[]"] }选项:

/*eslint space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/ foo( [bar, baz] foo( [bar, baz], 1

此规则的正确代码示例包含以下"always", { "exceptions": ["[]"] }选项:

/*eslint space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/ foo([bar, baz] foo([bar, baz], 1

此规则的错误代码示例包含以下"never", { "exceptions": ["()"] }]选项:

/*eslint space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/ foo((1 + 2) foo((1 + 2), 1

此规则的正确代码示例包含以下"never", { "exceptions": ["()"] }]选项:

/*eslint space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/ foo( (1 + 2) foo( (1 + 2), 1

此规则的错误代码示例包含以下"always", { "exceptions": ["()"] }]选项:

/*eslint space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/ foo( ( 1 + 2 ) foo( ( 1 + 2 ), 1

此规则的正确代码示例包含以下"always", { "exceptions": ["()"] }]选项:

/*eslint space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/ foo(( 1 + 2 ) foo(( 1 + 2 ), 1

"empty"例外是空括号,并以同样的方式与其他异常,反转的第一个选项。

此规则的错误代码示例包含以下"never", { "exceptions": ["empty"] }]选项:

/*eslint space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/ foo(

此规则的正确代码示例包含以下"never", { "exceptions": ["empty"] }]选项:

/*eslint space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/ foo(

此规则的错误代码示例包含以下"always", { "exceptions": ["empty"] }]选项:

/*eslint space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/ foo(

此规则的正确代码示例包含以下"always", { "exceptions": ["empty"] }]选项:

/*eslint space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/ foo(

您可以在"exceptions"数组中包含多个条目。

此规则的错误代码示例包含以下"always", { "exceptions": ["{}", "[]"] }]选项:

/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/ bar( {bar:'baz'} baz( 1, [1,2] foo( {bar: 'baz'}, [1, 2]

此规则的正确代码示例包含以下"always", { "exceptions": ["{}", "[]"] }]选项:

/*eslint space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/ bar{bar:'baz'} baz( 1, [1,2] foo{bar: 'baz'}, [1, 2]

何时不使用

如果不关心圆括号间距的一致性,可以关闭此规则。

相关规则

  • 括号中的空格(不建议使用)版本此规则是在ESLint 0.8.0.Resources中引入的