Andreas Rossberg (2011-05-19T10:04:45.000Z)
domenic at domenicdenicola.com (2013-12-13T23:09:52.551Z)
Hm, making name creation a method of `String` seems equally odd -- unless you also plan to have `typeof String.createPrivateName() == "string"`. Of course, I see the concern with the global object (although 'Name' was only a strawman suggestion). I assume that we need a future-proof solution for adding new built-in objects anyway, most likely based on modules. And that accessing built-in objects through the global object will be deprecated in Harmony code. So, since private names will be Harmony-specific, their constructor doesn't have to be visible through the "old" ES5 global object. Wouldn't introducing a new built-in constructor in some module scope actually have less risk (none?) of producing name clashes than messing with an existing object?