ECMAScript proposal: Generator Arrow Functions
Authors: Sergey Rubanov
Champion: Hemanth HM, Brendan Eich (?)
Stage: Stage 1 of the TC39 process.
Motivation
Experience so far has been that people love arrow functions and generators and want a generator arrow. — Brendan Eich
Both arrow functions and generators are available since ES2015. Often people want to use generator arrow and this proposal (which was raised years ago) should solve their needs.
Use cases
- 3 years old React example
- need more use-cases
Possible solutions
Discussion of future syntax: https://github.com/tc39/proposal-generator-arrow-functions/issues/2
Arrow function syntax
// Irregular
() =*> ...
// not the same order as in regular generator functions
() =>* ...
// also wrong order
() *=> ...
// ASI hazard
*() => ...
Introduce new generator
keyword for both function
and arrow function
generator function() {}
const foo = async generator function() {};
class Foo {
x = 1
// No more ASI hazard!
generator foo() {}
}
TC39 meeting notes
Prior discussions
- https://esdiscuss.org/topic/why-do-generator-expressions-return-generators
- https://esdiscuss.org/topic/generator-arrow-functions
Implementations
- none yet