首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

space-before-keywords

此规则在ESLint v2.0中已删除,并由关键字间距规则取代

--fix命令行上选择自动修复此规则报告的问题。

关键字是JavaScript的语法元素,例如functionif。这些标识符对语言有特殊意义,因此在代码编辑器中经常以不同的颜色显示。作为语言的重要组成部分,风格指南通常指的是围绕关键词使用的空格。例如,您可能有一个样式指南,指出关键字应始终以空格开头,这意味着if-else语句必须如下所示:

代码语言:javascript
复制
if (foo) {
    // ...
} else {
    // ...
}

当然,你也可以有一个风格指南,禁止关键字之前的空格。

规则细节

此规则将强制间隔的一致性的关键字之前ifelseforwhiledoswitchthrowtrycatchfinallywithbreakcontinuereturnfunctionyieldclass和变量声明(letconstvar)和标签语句。

这条规则有一个参数:"always""never"。如果"always"那么关键字必须至少有一个空格。如果"never"在关键字之前没有空格elsewhile(do ... while)finallycatch。默认值是"always"

此规则将允许关键字前面加上大括号({)。如果您想改变这种行为,请考虑使用块间距规则。

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

代码语言:javascript
复制
/*eslint space-before-keywords: ["error", "always"]*/
/*eslint-env es6*/

if (foo) {
    // ...
}else {}

const foo = 'bar';let baz = 'qux';

var foo =function bar () {}

function bar() {
    if (foo) {return; }
}

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

代码语言:javascript
复制
/*eslint space-before-keywords: ["error", "always"]*/
/*eslint-env es6*/

if (foo) {
    // ...
} else {}

(function() {})()

<Foo onClick={function bar() {}} />

for (let foo of ['bar', 'baz', 'qux']) {}

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

代码语言:javascript
复制
/*eslint space-before-keywords: ["error", "never"]*/

if (foo) {
    // ...
} else {}

do {

}
while (foo)

try {} finally {}

try {} catch(e) {}

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

代码语言:javascript
复制
/*eslint space-before-keywords: ["error", "never"]*/

if (foo) {
    // ...
}else {}

do {}while (foo)

try {}finally {}

try{}catch(e) {}

何时不使用

如果您不希望强化关键字间隔的一致性。

相关规则

  • space-after-keywords
  • block-spacing
  • space-return-throw-case
  • space-unary-ops
  • space-infix-ops

版本

此规则在ESLint 1.4.0中引入,并在2.0.0-beta.3中删除。

资源

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com