Enumerability

Brendan Eich brendan at mozilla.com
Fri Jan 10 11:49:56 PST 2014


Axel Rauschmayer wrote:
> * At the moment, only Object.keys and the for-in loop are affected by it.
> * In ECMAScript 6, Object.assign will also ignore non-enumerable 
> properties.

Pave that cowpath!

> * Built-in prototype methods are non-enumerable, as is property 
> `length` of arrays.

Good, more consistency with existing objects.

> * In ECMAScript 6, prototype methods created by classes are 
> enumerable, the prototype method `constructor` is non-enumerable (as 
> it is by default in all functions).

This may be a mistake. Prototype methods defined in JS are enumerable up 
to ES5 unless you use Object.defineProperty. Prototype methods on 
builtins are not enumerable. Something has to give.

/be


More information about the es-discuss mailing list