In the latest ECMA262 6th draft (rev15), YieldExpression with delegate detailed algorithm is defined. Reading the spec algortithm, I think this is very useful to put together iterators to make a complex iterator. edit: I've reported issues in the spec about this section. https://bugs.ecmascript.org/show_bug.cgi?id=1486 https://bugs.ecmascript.org/show_bug.cgi?id=1487 For example, function* gen() {