一个*号的区别吗?
1 回答

互换的青春
TA贡献1797条经验 获得超6个赞
两者都是返回 iterator 的一个元素,不过
yield 的返回值是当作一个元素
yield* 的返回值是一个 iterator,会依次返回这个 iterator 中的每个元素
举例
function* sub() { for (let i = 65; i < 70; i++) { yield String.fromCharCode(i); } }function* main() { yield "begin"; yield sub(); // 返回的是 sub() 的结果,一个对象 yield "---------"; yield* sub(); // 依次返回 sub() 结果的的每一项 yield "end"; }for (var v of main()) { console.log(v); }
添加回答
举报
0/150
提交
取消