课堂上可以有发生器吸气剂吗?

Ach*_*har 9 javascript generator ecmascript-6

我的意思是作为发电机的吸气剂.这一切都是ES6 +我相信.也许这样.

class a {
    get *count() {
        let i = 10;
        while(--i) yield i;
    }
}

let b = new a;
for(const i of b.count)
    console.log(i);
Run Code Online (Sandbox Code Playgroud)

这不起作用,我把星号放错了(即如果这是可能的话)

意外标识*

Ber*_*rgi 8

这没有简写符号.但是,您可以从getter属性返回一个生成器,没有任何区别:

function* countdown(i) {
    while(--i) yield i;
}
class a {
    get count() {
        return countdown(10);
    }
}
Run Code Online (Sandbox Code Playgroud)

我建议尽量避免这种情况.在连续调用中返回不同有状态对象的getter可能会非常混乱.