(Map|Set|WeakMap)#set() returns `this` ?

Rick Waldron waldron.rick at gmail.com
Mon Dec 3 14:04:06 PST 2012


On Mon, Dec 3, 2012 at 4:28 PM, Andrea Giammarchi <
andrea.giammarchi at gmail.com> wrote:

> I wonder what was the use case that convinced TC39 to return `this` with
> these methods.


Assuming you read the notes, I proposed the agenda item based on the best
practice of ensuring meaningful returns, and in the case of mutation
methods, |this| is a meaningful return.


> Accordingly, this will never work:
> var query = map.has('queried') ? map.get('queried') :
> map.set('queried', $('myquery'));
>

Previously, map.set() had a useless void return...


>
> And it will be something like:
> var query = map.has('queried') ? map.get('queried') :
> map.set('queried', $('myquery')).get('queried');
>
> which is ugly and I don't really understand where map.set(k0, v0).set(k1,
> v1).set(k2, v2) could be useful.
>

Accessing the object post-mutation allows for more expressive use of the
API.


Rick


> Thanks for clarifications ( a use case would be already good )
>
> br
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20121203/c9930d82/attachment.html>


More information about the es-discuss mailing list