Get to know MDN better
返回一个可迭代对象的表达式。
yield* 表达式迭代操作数,并产生它返回的每个值。
yield* 表达式本身的值是当迭代器关闭时返回的值(即done为true时)。
以下代码中,g1() yield 出去的每个值都会在 g2() 的 next() 方法中返回,就像那些 yield 语句是写在 g2() 里一样。
除了生成器对象这一种可迭代对象,yield* 还可以 yield 其他任意的可迭代对象,比如说数组、字符串、arguments 对象等等。
yield* 是一个表达式,不是语句,所以它会有自己的值。
| ECMAScript® 2027 Language Specification # sec-generator-function-definitions-runtime-semantics-evaluation |
启用 JavaScript 以查看此浏览器兼容性表。