Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.11.2017, 20:39
Аспирант
Отправить личное сообщение для daima Посмотреть профиль Найти все сообщения от daima
 
Регистрация: 01.08.2012
Сообщений: 59

Генераторы в ES6
Собственно не пойму как эта шняга работает. Расстуждения после чтения теории:

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?

Последний раз редактировалось daima, 20.11.2017 в 20:43.
Ответить с цитированием
  #2 (permalink)  
Старый 20.11.2017, 23:19
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

результат console.log(), возвращаемый третим елдом - undefined.
Ответить с цитированием
  #3 (permalink)  
Старый 21.11.2017, 10:36
Аспирант
Отправить личное сообщение для daima Посмотреть профиль Найти все сообщения от daima
 
Регистрация: 01.08.2012
Сообщений: 59

Сообщение от vasa_c Посмотреть сообщение
результат console.log(), возвращаемый третим елдом - undefined.
А почему? Можно пояснить механизм?
Ответить с цитированием
  #4 (permalink)  
Старый 21.11.2017, 14:38
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 715

https://learn.javascript.ru/generator тут норм. разъяснено, даже я понял
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сколько клиентов будет потеряно, если полностью перейти на es6? scrollquest Общие вопросы Javascript 4 21.08.2016 14:32
ES6 модули и Webpack lakusha Сборка проекта, утилиты 18 25.07.2016 08:34
TypeScript vs ES6 caetus Общие вопросы Javascript 17 18.03.2016 12:37
webpack Uglify и es6 kuzroman Сборка проекта, утилиты 4 14.12.2015 14:48
CoffeeScript vs ES6 ТОТ_САМЫЙ Оффтопик 98 29.09.2015 11:31