Jeremy Martin (2013-07-12T19:14:21.000Z)
domenic at domenicdenicola.com (2013-07-18T16:15:08.249Z)
In brief: allow Symbol's to be constructed with a single parameter, with the following behavior: ``` > var obj = {}; undefined > new Symbol({}) === new Symbol({}) false > new Symbol(obj) === new Symbol(obj) true ``` Motivation: the ability to construct equal Symbols gives us the necessary building blocks to build custom maps with semantics very similar to [Simple Maps][1]: ```js function ObjectMap() { this.map = {}; } SimpleMap.prototype.set = function(objKey, val) { this.map[new Symbol(objKey)] = val; }; SimpleMap.prototype.get = function(objKey) { return this.map[new Symbol(objKey)]; }; ``` At a surface level, this seems more novelty than anything else, but I think it's a useful primitive for building more complex and robust features on top of Symbols. Thoughts? [1]: http://wiki.ecmascript.org/doku.php?id=harmony:simple_maps_and_sets