Duplicate property names (was Re: @@new)
Andy Wingo
wingo at igalia.com
Wed Jun 25 06:19:14 PDT 2014
Hi,
On Fri 20 Jun 2014 15:16, "Mark S. Miller" <erights at google.com> writes:
> On Fri, Jun 20, 2014 at 1:48 AM, Andy Wingo <wingo at igalia.com> wrote:
> >
> > There is one change:
> >
> > ({ foo: 3, get foo() { return 4 } })
> >
> This is not allowed with current sloppy mode.
>
> Yes, good catch. This is a change, and it is now allowed.
What about:
({ get __proto__() {}, __proto__: foo }) // (1)
Does this end up setting the prototype of the result? Would it if there
were a setter?
Likewise:
({ __proto__: foo, get __proto__() {} }) // (2)
This one is kinda similar:
({ ['__proto__']: 34, __proto__: foo }) // (3)
I would propose that the answers to the question "does the prototype get
set" be "yes" for all of these, since the model is that each one is like
an invocation of Object.defineProperty, with the exception that
__proto__ is clownshoes-special and that a getter or setter inherits the
setter or getter (respectively) of the currently installed property, if
any.
Andy
More information about the es-discuss
mailing list