1.扩展运算符背后调用的是遍历器接口(Symbol.iterator),如果一个对象没有部署该接口,就无法转换
2.generator函数
function* genera(){
yield 1;
yield 2;
return;
}
关系
let genObj = genera()
genObj === genObj[Symbol.iterator]
调用generator函数,会返回一个遍历器对象(暂将其命名为genObj)。调用该对象上的next()方法,程序就一直往下运行到遇到第一个yield关键词,并将其右边的值返回,返回形式{value:xxx, done: true/false}, done表示函数是否走完了,以此类推,接下来会在遇到第二个yield的时候暂停,并将值返回。
for ...of 循环
理解 JavaScript 中的 for…of 循环 - m2maomao - 博客园
可以使用break 和 continue来结束当前迭代和结束整个迭代;
不可使用return