Собственно не пойму как эта шняга работает. Расстуждения после чтения теории:
function* powGenerator() {
var result = Math.pow(yield "a", yield "b");
yield console.log("cc");
return result;
}
//Создаем генератор
var g = powGenerator();
//Начали выполнять, но споткнулись на первом yield, выводим "a"
console.log(g.next().value);
//Продолжили выполнение, но споткнулись на 2м елде, вместо yield "a" будет 10, выведем "b"
console.log(g.next(10).value);
//Продолжили выполнение, но споткнулись на 3м елде, вместо yield "b" будет 2, надо вывести консольлогконсольлога, т.е. "cc"
console.log(g.next(2).value);
//Продолжаем выполнение, вместо yield console.log("cc"); по идее должно быть "xx", далее возвращаем значение result
console.log(g.next("xx").value);
Т.е. по идее в консоли должно быть "a", "b", "cc", "xx"(или 100). Вместо этого: "a", "b", "cc", undefined, 100. Откуда взялись undefined, 100?