space-before-keywords (Rules) - Eslint 中文开发手册
此规则在ESLint v2.0中已删除,并由关键字间距规则取代。
在--fix命令行上选择自动修复此规则报告的问题。
关键字是JavaScript的语法元素,例如function和if。这些标识符对语言有特殊意义,因此在代码编辑器中经常以不同的颜色显示。作为语言的重要组成部分,风格指南通常指的是围绕关键词使用的空格。例如,您可能有一个样式指南,指出关键字应始终以空格开头,这意味着if-else语句必须如下所示:
if (foo) { // ... } else { // ... }
当然,你也可以有一个风格指南,禁止关键字之前的空格。
规则细节
此规则将强制间隔的一致性的关键字之前if,else,for,while,do,switch,throw,try,catch,finally,with,break,continue,return,function,yield,class和变量声明(let,const,var)和标签语句。
这条规则有一个参数:"always"或"never"。如果"always"那么关键字必须至少有一个空格。如果"never"在关键字之前没有空格else,while(do ... while)finally和catch。默认值是"always"。
此规则将允许关键字前面加上大括号({)。如果您想改变这种行为,请考虑使用块间距规则。
此规则的默认代码错误代码示例"always":
/*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":
/*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"选项:
/*eslint space-before-keywords: ["error", "never"]*/ if (foo) { // ... } else {} do { } while (foo) try {} finally {} try {} catch(e) {}
此规则的正确代码示例包含以下"never"选项:
/*eslint space-before-keywords: ["error", "never"]*/ if (foo) { // ... }else {} do {}while (foo) try {}finally {} try{}catch(e) {}
何时不使用
如果您不希望强化关键字间隔的一致性。
相关规则
space-after-keywordsblock-spacingspace-return-throw-casespace-unary-opsspace-infix-ops
版本
此规则在ESLint 1.4.0中引入,并在2.0.0-beta.3中删除。
资源
Documentation source
Eslint 中文开发手册