names [Was: Approach of new Object methods in ES5]

P T Withington ptw at
Fri Apr 16 10:59:10 PDT 2010

On 2010-04-16, at 13:07, Brendan Eich wrote:

>> Another Harmony idea: for unforgeable property names not equated to any string. These cannot collide, and with sugar to let them be used with . (not only in computed property accesses using []), we may have a complete solution for injecting new "names" into standard prototypes without breaking existing code.
> Comments welcome on the names proposal. There are open issues at the bottom, and the "private" keyword syntax is straw for sure, although we don't have a better proposal AFAIK.

Name sounds like a stripped-down uninterned symbol ( to me.

It's an object with a magic attribute that says, unlike any other object you might try to use it as a property name, it is not coerced into a string first.  And it is compared by identity when looked up.  And it is invisible to (all?) enumerations of property names.

I have to wonder if it would be a worthwhile generalization to be able to confer these magical attributes on arbitrary objects?  This might allow more experimentation with namespace ideas.

More information about the es-discuss mailing list