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中引入的