On May 29, 2012, at 10:56 AM, Allen Wirfs-Brock wrote:

> On May 29, 2012, at 10:08 AM, Tab Atkins Jr. wrote:
> 
>> If it's desperately important that we don't make "obj.{foo:bar}" do a
>> [[Put]], then it would be much better to simply not allow that syntax
>> *at all*. ...
> 
> Language design and extension is a complex process. Being supportive of  
> multiple use cases generally makes a new feature more valuable and more 
> likely to be adopted.

Let's not be dismissive -- cutting features is not the same as 
design-by-scenario-solving. I agree with Tab that DefineOwnProperty is not 
important enough to warrant syntax, and we can still end up with a feature that 
is quite general-purpose and composable.

I'm actually a little surprised that you are in favor of [[DefineOwnProperty]] 
rather than [[Put]], since you often point out that most of the time code 
should be oblivious to the details of the prototype chain.

> Finally, I'm skeptical of any self-styled representation of "normal 
> developers" that isn't backed up with data.

That's too tall an order. None of us has that kind of data. All we can do in 
most cases is speak from experience. (Not to say empirical research wouldn't be 
useful, but none of us really has the resources to do that kind of science.) 
Meanwhile, it's not a stretch to say that normal development in JS does not pay 
attention to or use [[DefineOwnProperty]]. It wasn't even surfaced in API's 
until the very recent ES5!

Dave

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to