generator-star
generator-star:在发生器函数中围绕星号执行一致的间距
此规则在 ESLint v1.0 中已删除
,并由生成器星号间隔规则取代
。
生成器是 ECMAScript 6 中的一种新功能,可随时间返回多个值。这些特殊功能通过放置关键字*
后指示function
。
这是一个生成器函数的例子:
/*eslint-env es6*/
function* generator() {
yield "44";
yield "55";
}
这也是有效的:
/*eslint-env es6*/
function *generator() {
yield "44";
yield "55";
}
这也是有效的:
/*eslint-env es6*/
function * generator() {
yield "44";
yield "55";
}
为了保持使用生成器时的一致性,这个规则强制执行一个单独的位置*
。
规则细节
该规则强制将其*
放在function
关键字或函数名称旁边。此规则的单个选项是一个字符串,指定星号的位置。对于这个选项,你可以通过"start"
,"middle"
或者"end"
。默认是"end"
。
你可以像这样在配置中设置样式:
"generator-star": ["error", "start"]
使用"start"
此展示位置时将执行:
/*eslint-env es6*/
function* generator() {
}
使用"middle"
此展示位置时将执行:
/*eslint-env es6*/
function * generator() {
}
使用"end"
此展示位置时将执行:
/*eslint-env es6*/
function *generator() {
}
在使用表达式语法时,"start"
将在这里执行:
/*eslint-env es6*/
var generator = function* () {
}
在使用表达式语法时,"middle"
将在这里执行:
/*eslint-env es6*/
var generator = function * () {
}
在使用表达式语法时,"end"
将在这里执行:
/*eslint-env es6*/
var generator = function *() {
}
当使用表达式语法时,这对于"start"
和"end"
:都是有效的:
/*eslint-env es6*/
var generator = function*() {
}
这个规则不会影响生成器缩短的对象字面值语法。
何时不使用它
如果您的项目不使用生成器,则不需要此规则。
进一步阅读
- 了解 ES6 :生成器版本此规则在 ESLint 0.12.0 中引入,并在 1.0.0-rc-1.Resources 中删除