Logical nullifying binary operator - return undefined if left operand is falsy

It's pretty a common pattern to use logical-and && for its short-circuiting, to be a kind of single-branch ternary so that it evaluates to the right operand only if the left operand is truthy.

cond && value;

This is concise and basically always useful when the cond is truthy, but in the falsy case you have to be able to discard the falsy value that cond evaluates to. Some functions discard many falsey values only because it enables this pattern. Use sites where falsy values are meaningful (or where nullish values are necessary) can't take advantage of this pattern.

It'd be very convenient to have an operator for these use cases: it would return the right operand if the left operand is truthy, and undefined otherwise.

Maybe this could be the &? operator:

cond &? value

(bikeshedding, obviously, but: & because this behaves somewhat like short-circuiting AND, and ? because this returns the first branch of the ternary it's short for, as opposed to the Elvis operator which uses : because it returns the second branch.)

This would be shorthand for:

cond ? value : undefined;

or

(cond || undefined) && value

This operator would be useful where nullish values are already significant, like default parameters, the optional chaining, nullish coalescing, and many library APIs.

Concise way to trigger default parameters:

function foo(bar = 10) { /* ... */ }

foo(overrideBar &? 100);

Concise way to use a value or undefined inline:

html`<div>${showUser &? renderUser()}</div>`;

Evaluate to undefined where you might use optional chaining:

const processedData = errors.length === 0 &? process(data);
// ...
processedData?.foo;

I think single-branch conditionals are fairly common, and this would be useful, especially with the nullish-aware features in the language.