您现在的位置:首页 >> 前端 >> 内容

es6 Class的Generator函数实例讲解

时间:2018/2/2 11:44:21 点击:

  核心提示:Class 的 Generator函数如果某个方法之前加上星号(*),就表示该方法是一个 Generator函数。class Foo { constructor(...args) {this.args...

Class 的 Generator函数

如果某个方法之前加上星号(*),就表示该方法是一个 Generator函数。

class Foo {

  constructor(...args) {

    this.args = args;

  }

  * [Symbol.iterator]() {

    for (let arg of this.args) {

      yield arg;

    }

  }

}

for (let x of new Foo('hello', 'world')) {

  console.log(x);

}

// hello

// world

上面代码中,ES6

Foo类的Symbol.iterator方法前有一个星号,表示该方法是一个 Generator函数。Symbol.iterator方法返回一个Foo类的默认遍历器,for...of循环会自动调用这个遍历器。

Tags:ES S6 6C CL 
作者:网络 来源:Web先生的博客