Removing Proxy hasOwn() trap (Was: [[Invoke]] and implicit method calls)
andre.bargull at udo.edu
Tue Sep 24 12:15:19 PDT 2013
> On Sep 24, 2013, at 8:13 AM, Jason Orendorff wrote:
> >/ On Tue, Sep 24, 2013 at 7:23 AM, Tom Van Cutsem <tomvc.be at gmail.com <https://mail.mozilla.org/listinfo/es-discuss>> wrote:
> />>/ [forking from [[invoke]]-thread for clarity]
> />/ Thanks!
> />>/ Allen: would the removal of the hasOwn() trap imply that we can drop the
> />>/ [[HasOwnProperty]] internal method altogether?
> I look at the the opposite way -- we have an 'hasOwn' trap because be have a [[HasOwnProperty]] internal method ;-)
> I pretty sure we discussed this before and decided we wanted to keep [[HasOwnProperty]]. However, the only reason I can think of for doing so now is to avoid forcing exotic objects to allocated the property descriptors that [[GetOwnProperty]] produces.
Exotic string and integer indexed objects ( = TypedArray instances)
provide custom implementations for [[HasOwnProperty]] for exactly this
> />/ I searched the spec. There are not very many places where
> />/ [[HasOwnProperty]] is used; each one can be replaced with a call to an
> />/ Abstract Operation defined like this:
> Right, an none of the places seem particularly performance sensitive. In particular, ordinary property lookup uses [[GetOwnProperty]] rather than [[HasOwnProperlty]]
[[HasProperty]] for ordinary objects also uses [[HasOwnProperty]]. So
this needs to be taken into account when searching for performance
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss