On Apr 1, 2012, at 1:22 AM, Axel Rauschmayer wrote:

>> 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

Yes, thanks I've read it. But probably I misunderstood the description, but 
what then is the following mean?

"... bind return in the Block body case so it returns from the immediately 
enclosing arrow function, and preclude breakand continue from referencing 
statements outside the immediately enclosing arrow function."

Isn't it for supporting TCP? (sorry if it was already discussed and explained 
before, that's said, unfortunately hadn't time to join earlier)

Dmitry
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to