生成器 对象 是由一个generator function 返回的,并且它符合可迭代协议和迭代器协议。
<script>
//Syntax
function* gen(){
yield 1;
yield 2;
yield 3;
}
let g = gen();
console.log(g);
</script>
注:传统的生成方式,(*) 不是必须的(只需在函数体中使用yield 关键字),但旧生成器已经弃用,使用它们将被删除。
<script>
// Methods
Generator.prototype.next(); //Returns a value yieled by the yield expression
Generator.prototype.return(); //Returns the given value and finishes the generator
Generator.prototype.throw(); //Throws an error to a generator
</script>
function*(function 关键字后跟一个星号)会定一个生成器属性(generator function),它返回一个Genertor 对象。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator