I JavaScript, has a spread-like operator for optional elements been considered? Something like:
['a', ?'b']
=> ['a', 'b']
['a', ?null]
=> ['a']
I know you can emulate this with a spread + conditional + array literal, but I think this could be way simpler to understand.
@rauschma or any other JavaScript experts
@aismallard @rauschma I agree. Something like this?
Promise.all([
? condition1 ? task1() : null,
? condition2 ? task2() : null,
? condition3 ? task3() : null,
])
@aismallard yeah, it's possible it might have to be parenthesized. I think there's some reason to think it could be workable tho since this would always be in the context of a list item, either after the opening `[` or a `,`.
As mentioned in my other comment, if you had prefix &, you'd have
Promise.all([
& condition1 && task1()
& condition2 && task2()
& condition3 && task3()
])
which is even less noisy.
@aismallard @rauschma
If so, it raises a couple interesting points:
- Having it be null-based requires the explicit null in the false branch of the conditional. A falsey-based version (e.g. prefix &) would allow for something even more streamlined.
- Although not applicable to Promise.all, I can imagine similar syntax for conditional arguments to variadic functions.