Thank you very much. I've found both your hints about "use strict" and
Object.defineProperty very useful.


On Mon, Dec 2, 2013 at 9:29 PM, Gavin Barraclough <[email protected]>wrote:

>
> On Dec 2, 2013, at 10:53 AM, Geoffrey Garen <[email protected]> wrote:
>
> > Hi Alexei.
> >
> >> To my knowledge, an object's prototype is consulted when a property is
> not found on the object itself. Any new property is written to the object,
> never its prototype.
> >
> > That’s not quite right. The prototype chain is consulted when assigning
> a new property, if the prototype has a property of that name.
>
> Actually that statement is true – any newly created property will only
> ever be on the object, never its prototype.
>
> >> So I was expecting to add the "ctor" property on "newClassObj" directly
> and shadow the prototype's read-only "ctor", but it seems that either the
> property is set on the object's prototype (and the ReadOnly attribute makes
> it a no-op) or the ReadOnly attribute contaminates the object itself.
>
> The prototype chain is consulted, and presence of a read only property
> will cause assignment to fail.  Default is to fail silently, but if you use
> strict mode you’ll get an exception.
>
> If you want to create a shadowing property on the object you can do so via
> Object.defineProperty.
>
> cheers,
> G.
>
>
> > Geoff
> > _______________________________________________
> > webkit-dev mailing list
> > [email protected]
> > https://lists.webkit.org/mailman/listinfo/webkit-dev
>
>


-- 
Best regards
Alexei Sholik
_______________________________________________
webkit-dev mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to