space-in-parens
一些风格指南要求或禁止在圆括号内使用空格
foo( 'bar' );
var x = ( 1 + 2 ) * 3;
foo('bar');
var x = (1 + 2) * 3;规则详情
此规则通过禁止或要求在 ( 右侧和 ) 左侧使用一个或多个空格,来强制执行圆括号内一致的间距。
只要您没有使用 "empty" 异常显式禁止空圆括号,() 就会被允许。
选项
此规则有两个选项
"never"(默认)强制在圆括号内使用零个空格"always"强制在圆括号内使用一个空格
根据您的编码约定,您可以通过在配置中指定来选择任一选项
"space-in-parens": ["error", "always"]"never"
使用默认 "never" 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "never"]*/
foo( );
foo( 'bar');
foo('bar' );
foo( 'bar' );
foo( /* bar */ );
var foo = ( 1 + 2 ) * 3;
( function () { return 'bar'; }() );使用默认 "never" 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "never"]*/
foo();
foo('bar');
foo(/* bar */);
var foo = (1 + 2) * 3;
(function () { return 'bar'; }());"always"
使用 "always" 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always"]*/
foo( 'bar');
foo('bar' );
foo('bar');
foo(/* bar */);
var foo = (1 + 2) * 3;
(function () { return 'bar'; }());使用 "always" 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always"]*/
foo();
foo( );
foo( 'bar' );
foo( /* bar */ );
var foo = ( 1 + 2 ) * 3;
( function () { return 'bar'; }() );异常
可以使用对象字面量作为第三个数组项来指定异常,键为 "exceptions",值为数组。这些异常在第一个选项的上下文中起作用。也就是说,如果设置了 "always" 来强制使用空格,则任何“异常”都会禁止使用空格。相反,如果设置了 "never" 来禁止使用空格,则任何“异常”都会强制使用空格。
请注意,此规则仅强制执行圆括号内的间距;它不会检查花括号或方括号内的间距,但仅当它们与开括号或闭括号相邻时,才会强制执行或禁止这些括号的间距。
以下异常可用:["{}", "[]", "()", "empty"]。
空异常
空圆括号异常和行为
always允许使用()和( )never(默认)要求使用()always除empty外要求使用()never除empty外要求使用( )(禁止使用没有空格的空括号)
示例
使用 "never", { "exceptions": ["{}"] } 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/
foo({bar: 'baz'});
foo(1, {bar: 'baz'});使用 "never", { "exceptions": ["{}"] } 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["{}"] }]*/
foo( {bar: 'baz'} );
foo(1, {bar: 'baz'} );使用 "always", { "exceptions": ["{}"] } 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/
foo( {bar: 'baz'} );
foo( 1, {bar: 'baz'} );使用 "always", { "exceptions": ["{}"] } 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["{}"] }]*/
foo({bar: 'baz'});
foo( 1, {bar: 'baz'});使用 "never", { "exceptions": ["[]"] } 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/
foo([bar, baz]);
foo([bar, baz], 1);使用 "never", { "exceptions": ["[]"] } 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["[]"] }]*/
foo( [bar, baz] );
foo( [bar, baz], 1);使用 "always", { "exceptions": ["[]"] } 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/
foo( [bar, baz] );
foo( [bar, baz], 1 );使用 "always", { "exceptions": ["[]"] } 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["[]"] }]*/
foo([bar, baz]);
foo([bar, baz], 1 );使用 "never", { "exceptions": ["()"] }] 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/
foo((1 + 2));
foo((1 + 2), 1);
foo(bar());使用 "never", { "exceptions": ["()"] }] 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["()"] }]*/
foo( (1 + 2) );
foo( (1 + 2), 1);
foo(bar() );使用 "always", { "exceptions": ["()"] }] 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/
foo( ( 1 + 2 ) );
foo( ( 1 + 2 ), 1 );使用 "always", { "exceptions": ["()"] }] 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["()"] }]*/
foo(( 1 + 2 ));
foo(( 1 + 2 ), 1 );"empty" 异常涉及空括号,其工作方式与其他异常相同,反转第一个选项。
使用 "never", { "exceptions": ["empty"] }] 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/
foo();使用 "never", { "exceptions": ["empty"] }] 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "never", { "exceptions": ["empty"] }]*/
foo( );使用 "always", { "exceptions": ["empty"] }] 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/
foo( );使用 "always", { "exceptions": ["empty"] }] 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["empty"] }]*/
foo();您可以在 "exceptions" 数组中包含多个条目。
使用 "always", { "exceptions": ["{}", "[]"] }] 选项时,此规则的错误代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/
bar( {bar:'baz'} );
baz( 1, [1,2] );
foo( {bar: 'baz'}, [1, 2] );使用 "always", { "exceptions": ["{}", "[]"] }] 选项时,此规则的正确代码示例
/*eslint @stylistic/js/space-in-parens: ["error", "always", { "exceptions": ["{}", "[]"] }]*/
bar({bar:'baz'});
baz( 1, [1,2]);
foo({bar: 'baz'}, [1, 2]);何时不使用它
如果您不关心括号之间间距的一致性,可以关闭此规则。