On May 6, 2009, at 1:43 PM, Ash Berlin wrote:

I don't think ||= and ??= are very difficult to define clearly.
Perhaps just a line each in terms of the expanded syntax. I don't
think they would add much bloat to engines. Perhaps just better to add
them both and move on to discussing classes, lambdas, or processes.


a ||= b;
a = a || b;

Is the reference to |a| computed only once, and before b is evaluated? This matters in JS since evaluating b could change where |a| exists on the scope chain.


a ??= b;
a = a === undefined ? b : a;

In no case should |a| be evaluated twice here, but this desugaring does that.

Nothing's ever as simple as you want :-P.


You could make a case for adding a ?? operator for symmetry. Example of usage:

some_func(a, b ?? "c" );

Roger that, given ??= it would be strange to leave out ??.

I'm still trying to leave out both ;-).

/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to