生成器 對象 是由一個generator function 返回的,而且它符合可迭代協議和迭代器協議。javascript
<script>
//Syntax function* gen(){ yield 1; yield 2; yield 3; } let g = gen(); console.log(g); </script>
注:傳統的生成方式,(*) 不是必須的(只需在函數體中使用yield 關鍵字),但舊生成器已經棄用,使用它們將被刪除。java
<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 對象。express
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator函數