You basically demonstrated nobody read my comment in there months ago ;-)

https://github.com/zenparsing/es-function-bind/issues/17#issuecomment-120978833


Anyway, the security concern is non  existent to me, every method of every
instance of every class can  be a communication channel, everything bound
can be a communication channel, I don't see why ::obj.someMethod would be
different and  is not explained anywhere in there.

But since nobody read that thread anymore,  I guess it's pointless to even
keep writing in there.

Best Regards






On Wed, Nov 11, 2015 at 4:52 PM, Bergi <[email protected]> wrote:

> Andrea Giammarchi schrieb:
>
>> Just my thoughts, I wouldn't put any self-bound thing in the class and
>> rather improve that `::` proposal so that whenever you `obj::method` it
>> creates a uniquely bound callback so that `obj::method === obj::method`
>>
>
> This was considered:
> https://github.com/zenparsing/es-function-bind/issues/17 - it's quite
> unexpected that an operator would return the same result every time, and
> there are security considerations as well. Also it would be quite
> complicated to spec - how and where did you store the memoisation. Feel
> free to join the discussion!
>
> Using the `::` operator in the class declaration itself makes sense to me.
> It conveys "this method will always be bound" very effectively, and you
> wouldn't even need special syntax to access it.
> ```js
> class Xample {
>   ::myListener(…) {…}
> }
> ```
> should desugar to
> ```js
> class Xample {
>   // a getter on the prototype
>   get myListener() {
>     // with per-instance memoisation
>     return this.myListener = (…) => {
>       // that returns a bound method
>       …
>     };
>   }
> }
> ```
> It might be equivalently done via a custom decorator of course:
> ```js
> class Xample {
>   @autobind
>   myListener(…) {…}
> }
> ```
>
> Regards,
>  Bergi
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to