<div dir="ltr">Thank you, everyone, for feedback. Sorry for not getting back for a while. I had some time to think and concluded that nullish noop in spreading is a good feature to be added to the language without complicating it too much.<br>So please take a look at <a href="https://gist.github.com/askbeka/8bb17508ec250a789ea9bff683a50e38" target="_blank">the explainer</a> and lets discuss in <a href="https://es.discourse.group/t/optional-spreading-proposal/224">es-discourse proposal</a>, if you have further feedback, please share</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 23, 2019 at 7:18 PM Herby Vojčík <<a href="mailto:herby@mailbox.sk" target="_blank">herby@mailbox.sk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 23. 8. 2019 16:24, Beknar Askarov wrote:<br>
> @Scott Rudiger After thinking more about it.<br>
> I would not like to conflict with semantics of optional chaining and <br>
> null coalescing operator.<br>
> So in order to not confuse people, maybe introduce two types of optional <br>
> spread operators<br>
> <br>
> <br>
> 1. `?...` - Do not spread if nullish. Note nullish. Else try to spread.<br>
> Signature Array: [?...(nullish | Iterable)];<br>
> Signature Object: {?...(nullish | object)};<br>
> <br>
> 2. `!...` - Do not spread if false. Note FALSE not falsy. Else try to <br>
> spread.<br>
<br>
I read<br>
<br>
   !...foo<br>
<br>
as<br>
<br>
   !(...foo)<br>
<br>
that is, logical not. I'd tip it already works that way. In which case <br>
no go, break compat.<br>
<br>
Herby<br>
<br>
> Signature Array: [!...(false | Iterable)];<br>
> Signature Object: {!...(false | object)};<br>
> <br>
> I think this can be an option to avoid consfusion<br>
<br>
Or add a new one. :-(<br>
</blockquote></div>