Removing Proxy hasOwn() trap (Was: [[Invoke]] and implicit method calls)
jason.orendorff at gmail.com
Tue Sep 24 08:13:23 PDT 2013
On Tue, Sep 24, 2013 at 7:23 AM, Tom Van Cutsem <tomvc.be at gmail.com> wrote:
> [forking from [[invoke]]-thread for clarity]
> Allen: would the removal of the hasOwn() trap imply that we can drop the
> [[HasOwnProperty]] internal method altogether?
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:
----begin spec text----
When the abstract operation HasOwnProperty is called with Object O and
property key P, the following steps are taken:
1. Let desc be the result of calling the [[GetOwnProperty]] internal
method of O with argument P.
3. If desc is undefined, then return false.
4. Return true.
----end spec text----
This allows five or six sections defining [[HasOwnProperty]]
implementations to be deleted. It's a nice simplification.
More information about the es-discuss