Brendan Eich (2013-12-31T21:53:10.000Z)
domenic at domenicdenicola.com (2014-01-06T14:15:37.294Z)
David Bruant wrote: > I've been playing with Sets recently and believe that the following > additions would make them more useful by default: > * `Set.prototype.map` > * `Set.prototype.filter` > * ```js > Set.prototype.toJSON = function(){ > return [...this]; > }; > ``` > > The 2 first are to easily create sets from existing sets very much > like what we already have with arrays. These seem good. > I haven't had a use for a .reduce yet, but maybe that would make sense > too? Are Sets ordered just because for-of says so? :-P When in doubt, leave it out. > The toJSON is just to provide a good default. Obviously anyone > disatisfied with it can shadow it on specific instances. But this > serialization makes more sense by default than the one you get now > (own properties of the set object... which have none in common usages?) > > Hopefully both IE11 and Firefox having shipped Sets without this > toJSON behavior won't prevent this change? No draft-spec implementation can foreclose further spec additions to a built-in prototype, in the draft spec as it evolves at any rate. Yes, Array.prototype.values bit us, but via 'with' (of course -- the one you should most suspect!). Not here, though.