arrow function syntax simplified

Axel Rauschmayer axel at rauschma.de
Sun Apr 1 01:22:53 PDT 2012


> On Apr 1, 2012, at 12:34 AM, Axel Rauschmayer wrote:
> 
>>>> Ah, good. But one can use the above (pseudo-)desugaring to predict the behavior of arrow functions, right? That is, there is no observable difference.
>>> 
>>> There is, again, the difference in terms of delegation to the target's [[Construct]] in case of a bound function, see the spec ("bound" per ES5, of course, since, as Brendan notices, it's not just a syntactic sugar, but a new special type of functions).
>> 
>> OK. Ignoring [[Construct]] and .prototype, any other differences?
> 
> Well, "ES5-bounds" also do not have `prototype' property, but delegate to the target's `prototype'. However, yes, there is the (main) difference in respect of supporting TCP (if I understand correctly, since had no time to follow the complete thread) -- return and break/continue jumps to the parent frame instead of working with the function itself.

Arrow functions do not adhere to TCP. Everything you need to know is here: http://wiki.ecmascript.org/doku.php?id=strawman:arrow_function_syntax

-- 
Dr. Axel Rauschmayer
axel at rauschma.de

home: rauschma.de
twitter: twitter.com/rauschma
blog: 2ality.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120401/692cee79/attachment-0001.html>


More information about the es-discuss mailing list