# generator-star
在生成器函数中强制星号周围的间距一致。
(已删除)此规则在 ESLint v1.0 中已删除,并由 generator-star-spacing
规则替换。
生成器是 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*() {
}
生成器的缩短的对象字面语法不受此规则的影响。
# 何时不使用
如果您的项目不使用生成器,则不需要此规则。