'function *' is not mandatory

Yuichi Nishiwaki yuichi.nishiwaki at gmail.com
Sat Aug 31 12:15:04 PDT 2013


Hi all, I just found a post that the current generator syntax
(function *) seems have decided in:

https://mail.mozilla.org/pipermail/es-discuss/2011-July/015799.html

According to the post, the biggest reason the star syntax is adopted
for now is that you cannot write empty generators with star-less
functions in a consistent simple way. But the situation has changed,
and in the current spec (rev 17) yield* is now capable of taking any
kind of iterator, so you can make empty generators just like

```js
function * () {
    yield * [];
}
```

This looks enough good and simple at least to me. And I wonder if even
now generators still need to be declared with 'star's. What are the
advantages of 'star'ed generators rather than 'star'-lesses? If not
exist, shouldn't it be removed (for the simplicity)?

Thank you.

--
Yuichi Nishiwaki


More information about the es-discuss mailing list