【问题标题】:Can there be generator getters in classes?课堂上可以有生成器吸气剂吗?
【发布时间】:2016-06-24 00:59:42
【问题描述】:

我的意思是生成器。我相信所有这些都是 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);

这行不通,我把星号放错了(也就是说,如果这是可能的话)

意外的标识符 *

【问题讨论】:

    标签: javascript ecmascript-6 generator


    【解决方案1】:

    对此没有简写符号。但是,您可以毫无区别地从 getter 属性返回生成器:

    function* countdown(i) {
        while(--i) yield i;
    }
    class a {
        get count() {
            return countdown(10);
        }
    }
    

    我建议避免这种情况。在连续调用中返回不同的有状态对象的 getter 可能会非常令人困惑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-01
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      相关资源
      最近更新 更多