On Dec 29, 2011, at 3:38 AM, Lasse Reichstein wrote:

> There is one side-effect to defining __proto__ using a getter/setter
> property. You can extract the setter and store it for later, allowing
> you to change the prototype of objects after someone else deleted the
> __proto__ property.


Not if the built-in setter function for __proto__ is defined similarly to:

     Object.defineProperty(Object.prototype,'__proto__', 
        {set: function __proto__(value) {
              if (Object.getPropertyDescriptor(this,'__proto__').set !== 
__proto__) throw new TypeError('invalid use of __proto__');
              ... //do the work of validating and setting [[Prototype]] of this
       }});

(and assuming that Object.getPropertyDescriptor is defined to access inherited 
properties)
              

Allen

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to