leaks, performances, as example, are the first things I have in mind when I look at that code ( assuming I understand how WeakMap works there )
Function.prototype.bind could have been implemented via libraries ( as Prototype did ) as well so I don't get your argument, sorry. My point is that Function.prototype.bind is used 90% of the time with context only, 10% with arguments, 0% as different object since nobody uses two bound functions to the same object, arguments a part. I am suggesting a semantic improvement Object related but of course I can solve all missing real-nedeed things via a library ... you know what I mean? Regards On Thu, Jan 5, 2012 at 11:01 PM, David Bruant <bruan...@gmail.com> wrote: > Hi Andrea, > > It seems that what you want can be implemented as a library [1] (actually > you did it as well in your blog post). In this gist, a cache is used. In a > nutshell, it is a '(function, object) -> boundFunction' mapping. I used 2 > levels of WeakMaps to achieve this. > > I don't think a native implementation could be that much more efficient > neither in space nor time. > > Assuming my implementation does what you need, what would be the benefit > of a native implementation over what I propose? > > David > > [1] https://gist.github.com/1567494 > > > Le 05/01/2012 14:54, Andrea Giammarchi a écrit : > > I have thought it may be interesting to receive some comment here too ... > so here the short summary: > > genericCallback.bind(sameObject) !== genericCallback.bind(sameObject) > > quite inconvenient for listeners and leading to uncomfortable patterns ( > store the bound reference somewhere and get it back later ) > > plus bind, at the end of a function, where the topic is the context, > looks more like a yoda statement > > "function with context as this object" > > rather than > > "object as context of this function" > > So, the proposal, is a simplified Object.prototype.boundTo ( or > eventually, to avoid conflicts with bind signature > Object.prototype.asContextOf ) > where the action is object, as context, related, and the returned function > is one and one only > > sameObject.boundTo(genericCallback) === sameObject.boundTo( > genericCallback) > > or, if you prefer > > sameObject.asContextOf(genericCallback) === sameObject.asContextOf( > genericCallback) > > Here the whole post with better examples plus the proposed solution that > would be nice to have in JS.Next > > http://webreflection.blogspot.com/2012/01/improving-functionprototypebind.html > > Best Regards, > Andrea Giammarchi > > > _______________________________________________ > es-discuss mailing > listes-discuss@mozilla.orghttps://mail.mozilla.org/listinfo/es-discuss > > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss