Got it, thanks!

> On 25 Dec 2014, at 01:26, Brendan Eich <bren...@mozilla.org> wrote:
> 
> Axel Rauschmayer wrote:
>> The alternative is to treat enumerability the way ES6 treats holes: pretend 
>> it doesn’t exist:
> 
> That doesn't work, here or for holes. We've actually split APIs with respect 
> to holes, and this will mean bugs. We did make an intentional 
> future-trumps-past choice against holes, though.
> 
> Here and on twitter, we seem to have members of the committee on both sides. 
> Not good. Not saying consensus is broken and dissenters from the draft status 
> will throw their bodies in front of the train, but it's worth extended 
> discussion and (thanks again, Rick) measurement of what can be measured.
> 
>> * Use `Reflect.ownKeys`, `Object.getOwnPropertyNames`, 
>> `Object.getOwnPropertySymbols` instead of `Object.keys`.
>> * Don’t use the `for-in` loop (an easy one…)
>> * Change `Object.assign` so that it considers all properties, not just 
>> enumerable ones.
>> * The properties of class prototypes remain non-enumerable.
>> * I’m unsure about new built-in instance prototypes. For consistency’s sake, 
>> one may want to make them non-enumerable. But how would they be different 
>> from a library?
>> 
>> Quoting Sebastian Markbåge: 
>> https://twitter.com/sebmarkbage/status/547156703104753664
>> 
>> > "enumerable" is just one of an infinite number of categories you might 
>> > want to filter on. It's a hack and should die.
>> 
>> Would this approach have any disadvantages?
> 
> The prescriptionist approach has not worked. See the Auburn study that Allen 
> cited:
> 
> http://munawarhafiz.com/research/jssurvey/GHB14-JSUsedParts.pdf
> 
> People use for-in without hasOwnProperty -- a lot. Some intentionally 
> well-used cases, no doubt -- others accidents waiting to happen.
> 
> JS has some bad defaults, requiring long-winded workarounds. Lazy programmers 
> will inevitably skip the workarounds. Let's not do another.
> 
> /be

-- 
Dr. Axel Rauschmayer
a...@rauschma.de
rauschma.de



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

Reply via email to