Jordan Harband ljharb at
Sun Oct 29 16:19:55 UTC 2017

`Set.prototype.delete` returns a boolean indicating whether a deletion was

I think the minor convenience of "toggle" (avoiding an `if` statement, or a
ternary, in a single use case) isn't worth the complexity and confusion of
having an API with a boolean argument - which is something that there's
zero precedent in the language for, even if the ecosystem has it, and
something that I suspect would block any progress on such an API.

On Sun, Oct 29, 2017 at 6:08 AM, Cyril Auburtin <cyril.auburtin at>

> My use-case was a choice-list form, with React. I used a Set to store the
> current selected values in state.
> It's updated with checkbox 'change' event, and depending on `.checked`,
> you delete or add (so .toggle).
> When you have several of those choice-lists, it becomes even more helpful.
> You can also have to manipulate the set after, for example `set.toggle('A',
> set.has('A-') && set.has('A+'))` (adding A in the set if it contains A- and
> A+, removing it else)
> I've just seen this
> similar topic.
> Last argument for it, Set.prototype.delete returns the number of deleted
> item, Set.prototype.add the amended set, this inconsistency is annoying
> when combining them
> 2017-10-29 10:25 GMT+01:00 Naveen Chawla <naveen.chwl at>:
>> "Nice to have" is good a case as any, since it applies for all features
>> that were ever introduced, and all that ever will be.
>> I'm just curious in what cases this is useful?
>> I'm only asking because I expect a set to represent a single condition
>> for entry/presence in the set e.g. "People", "Dogs", etc. I'm curious under
>> what circumstances the condition for entry/presence changes, that would
>> necessitate a "toggle"? And if that condition changes, then wouldn't that
>> apply across the set, necessitating a transformation to a filtered derived
>> set, not just for a single element? Basically, I'm interested to know, in
>> what circumstances are you trying to do this?
>> On Sun, 29 Oct 2017 at 13:37 dante federici <c.dante.federici at>
>> wrote:
>>> What's the case for toggle other than nice to have? In general, I find
>>> toggle actions to be implicitly dependent on existing state -- that is,
>>> anywhere you have toggle you can just as easily say `add(value)` or
>>> `delete(value)`.
>>> _______________________________________________
>>> es-discuss mailing list
>>> es-discuss at
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at
> _______________________________________________
> es-discuss mailing list
> es-discuss at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list