Я не уверен в этом, но в контексте генератора yield
отправляет данные в generator.next()
таким образом, что он работает во многом как функция. Операторы - это специальные классы функций в большинстве языков (JavaScript inlcuded).
Вы могли бы почти представить generator.next
, вызывающего его экземпляр, передавая обратный вызов относительно того, где возобновить. И yield
, вызывая этот обратный вызов
Return
, сигнализирует об окончании пути выполнения и замене возвращаемого значения в правильную ячейку памяти и раскручивает стек вызовов на 1 единицу. Если чувствует себя исконно в определении языка,