Questions re. final fat arrow syntax

Brendan Eich brendan at
Sat Apr 7 22:14:39 PDT 2012

Angus Croll wrote:
> Apologies if this is not yet nailed down. I'm looking for the 
> following details re. the arrow function grammar which I was unable to 
> determine from the strawman proposal:
> 1. Will the syntax support more than an expression in the function 
> body? The proposal appeared to be veering towards expression only 
> syntax - although this could be mitigated by the ES 6 proposed do {} 
> syntax.

The grammar at

is clear enough: both expression and braced block body alternatives.

> 2. Will the grammar allow for implicit returns in the manner of Ruby, 
> CoffeeScript. Seems to be the case for expression bodies.
Only for that case.

> If multiple statements are allowed (within block syntax) will implicit 
> return apply to the last statement or does explicit return become 
> necessary?

No, please read the sub-thread starting at

> 3. Are parenthese required for zero arguments or will
> let a = => doThis();
> syntax be permitted (in line with CS)

This too is clearly specified by

ArrowFormalParameters, second right-part.

Thanks for writing. I take it from twitter you want soft-bound-|this| so 
a .call or .apply (or new?) can override lexical-this?


More information about the es-discuss mailing list