||= is much needed?

Brendan Eich brendan at mozilla.com
Thu Jun 14 10:49:17 PDT 2012


T.J. Crowder wrote:
> On 14 June 2012 18:10, Brendan Eich <brendan at mozilla.com 
> <mailto:brendan at mozilla.com>> wrote:
>
>     I agree on reflection with Wes and others who've objected that A
>     ?: B has the simplest interpretation as A ? A : B and therefore
>     should not be used for anything like (A !== undefined) ? A : B or
>     (A != null) ? A : B. I noted this as an open issue but I'm almost
>     ready to flip the strawman back to ?? and ??=. Comments on syntax?
>
>
> Do people see sufficient value in a second ternary operator that uses 
> the same semantics for what's a non-value? E.g.:
>
> a = b ?? c : d;
>
> meaning
>
> a = b !== undefined ? c : d;

No, too thin.

Also preempts ?? as an infix operator, which has been proposed for quite 
a while as the default operator.

> If people *don't* see sufficient value in the second ternary (and the 
> use cases are pretty limited), ?? and ??= are great. Ship 'em.

Not in ES6, but I'm working on the strawman to get them into Harmony, so 
they can be prototyped, user-tested, and standardized in due course.

/be


More information about the es-discuss mailing list