Object Initialiser Extensions Strawman

Ash Berlin ash_es4 at firemirror.com
Wed Aug 12 11:49:26 PDT 2009


On 12 Aug 2009, at 19:00, Allen Wirfs-Brock wrote:
>
> I'm quite certain that non-enumerable is what is most commonly  
> desired for such method properties. Readonly-ness is certainly more  
> debatable. I'm pretty sure that most programmer, most of the time,  
> when they define a "method" are not doing so with the expectation  
> that it will be dynamically replaced.  However, there is also power  
> that comes for the ability to arbitrarily "patch" other people's  
> objects and I know that some members of the JavaScript community are  
> worried about web applications becoming too brittle if various  
> mechanisms to "freeze" objects are overused.   From that perspective  
> giving "method" properties the attributes {enumerable: false,  
> writable: false, configurable: true} may be a better compromise  
> between programmer intent and excessive brittleness than  
> {enumerable: false, writable: false, configurable: false} that is  
> currently in the strawman proposal.
>

What's difference in behaviour does { configurable: true, writable:  
false } give versus { configurable: true, writable: true }? Is it that  
you'd have to delete the property and recreate it or change it with  
Object.defineProperty?

At any rate I think the perl motto of "you say out of someone else's  
living room because they ask you to, not because they have a shotgun"  
applies here. If someone wants to monkey patch a method on another  
object they better make sure they know what they are doing.

-ash
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20090812/b499fc30/attachment.html>


More information about the es-discuss mailing list