On Sun, Aug 24, 2014 at 9:52 PM, Mark Everitt <[email protected]>
wrote:

> Today I encountered an inconsistency between SpiderMonkey and V8 (in
> Aurora 33.0a2 (2014-08-24) and Canary 39.0.2135.0 canary (64-bit)). In
> chrome, I can bind an arrow function, and in firefox I cannot (see this
> gist: https://gist.github.com/qubyte/43e0093274e793cc82ba)
>
> I find reading the ES6 draft spec hard going, but from searching around I
> get the impression that it states that bind should not be successful on an
> arrow function. If this is the case, then it raises an issue. There seems
> to be no clean way to tell apart regular functions and arrow functions (the
> only way I can do this is by looking at the result of toString). That being
> the case, arrow functions mean that we can no longer trust call, apply and
> bind, since we cannot easily tell if the function we want to bind is an
> arrow function and will silently ignore us.
>
> Having said all that, if I have the wrong end of the stick and this is a
> bug in SpiderMonkey, please let me know!
>

SpiderMonkey is correct. Arrow functions aren't meant to be a drop in
replacement for all functions. I replied to that bug confirming that Canary
is incorrect with relevant spec notes.


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

Reply via email to