Wouldn't simply making array spreading ignore nullish values be backward
compatible?
Unless one imagines that people are depending on this being an error
somehow.

On Sat, Feb 15, 2020 at 10:05 AM Jordan Harband <ljh...@gmail.com> wrote:

> Since object spread already ignores nullish values, a syntax change would
> only be needed for array spread. Then, the two kinds of spread would
> support different syntactic features, which seems inconsistent.
>
> On Sat, Feb 15, 2020 at 7:56 AM Beknar Askarov <beknaraska...@gmail.com>
> wrote:
>
>> 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.
>> So please take a look at the explainer
>> <https://gist.github.com/askbeka/8bb17508ec250a789ea9bff683a50e38> and
>> lets discuss in es-discourse proposal
>> <https://es.discourse.group/t/optional-spreading-proposal/224>, if you
>> have further feedback, please share
>>
>> On Fri, Aug 23, 2019 at 7:18 PM Herby Vojčík <he...@mailbox.sk> wrote:
>>
>>> On 23. 8. 2019 16:24, Beknar Askarov wrote:
>>> > @Scott Rudiger After thinking more about it.
>>> > I would not like to conflict with semantics of optional chaining and
>>> > null coalescing operator.
>>> > So in order to not confuse people, maybe introduce two types of
>>> optional
>>> > spread operators
>>> >
>>> >
>>> > 1. `?...` - Do not spread if nullish. Note nullish. Else try to spread.
>>> > Signature Array: [?...(nullish | Iterable)];
>>> > Signature Object: {?...(nullish | object)};
>>> >
>>> > 2. `!...` - Do not spread if false. Note FALSE not falsy. Else try to
>>> > spread.
>>>
>>> I read
>>>
>>>    !...foo
>>>
>>> as
>>>
>>>    !(...foo)
>>>
>>> that is, logical not. I'd tip it already works that way. In which case
>>> no go, break compat.
>>>
>>> Herby
>>>
>>> > Signature Array: [!...(false | Iterable)];
>>> > Signature Object: {!...(false | object)};
>>> >
>>> > I think this can be an option to avoid consfusion
>>>
>>> Or add a new one. :-(
>>>
>> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to