站内搜索:
首页 >> 前端 >> 内容
es6 Class的Generator函数实例讲解

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

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循环会自动调用这个遍历器。

  • 上一篇:vue中的$route和$router介绍
  • 下一篇:es6 Class的getter函数和setter函数实例讲解
  • 返回顶部