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

generator-star

此规则在 ESLint v1.0 中已删除,并由生成器星号间隔规则取代

生成器是 ECMAScript 6 中的一种新功能,可随时间返回多个值。这些特殊功能通过放置关键字*后指示function

这是一个生成器函数的例子:

代码语言:javascript
复制
/*eslint-env es6*/

function* generator() {
    yield "44";
    yield "55";
}

这也是有效的:

代码语言:javascript
复制
/*eslint-env es6*/

function *generator() {
    yield "44";
    yield "55";
}

这也是有效的:

代码语言:javascript
复制
/*eslint-env es6*/

function * generator() {
    yield "44";
    yield "55";
}

为了保持使用生成器时的一致性,这个规则强制执行一个单独的位置*

规则细节

该规则强制将其*放在function关键字或函数名称旁边。此规则的单个选项是一个字符串,指定星号的位置。对于这个选项,你可以通过"start""middle"或者"end"。默认是"end"

你可以像这样在配置中设置样式:

代码语言:javascript
复制
"generator-star": ["error", "start"]

使用"start"此展示位置时将执行:

代码语言:javascript
复制
/*eslint-env es6*/

function* generator() {
}

使用"middle"此展示位置时将执行:

代码语言:javascript
复制
/*eslint-env es6*/

function * generator() {
}

使用"end"此展示位置时将执行:

代码语言:javascript
复制
/*eslint-env es6*/

function *generator() {
}

在使用表达式语法时,"start"将在这里执行:

代码语言:javascript
复制
/*eslint-env es6*/

var generator = function* () {
}

在使用表达式语法时,"middle"将在这里执行:

代码语言:javascript
复制
/*eslint-env es6*/

var generator = function * () {
}

在使用表达式语法时,"end"将在这里执行:

代码语言:javascript
复制
/*eslint-env es6*/

var generator = function *() {
}

当使用表达式语法时,这对于"start""end":都是有效的:

代码语言:javascript
复制
/*eslint-env es6*/

var generator = function*() {
}

这个规则不会影响生成器缩短的对象字面值语法。

何时不使用它

如果您的项目不使用生成器,则不需要此规则。

进一步阅读

扫码关注腾讯云开发者

领取腾讯云代金券