On Fri, Jul 19, 2013 at 1:35 PM, Tab Atkins Jr. <[email protected]>wrote:

> On Thu, Jul 18, 2013 at 4:34 PM, Andy Earnshaw <[email protected]>
> wrote:
> > It's potentially a breaking change, because
> >
> > 0 < 1 < 1
> >
> > evaluates to false in current implementations because
> >
> > (0 < 1) < 1
>
> Luckily, this is false in the chained operations too, since "(0 < 1)
> && (1 < 1)" evaluates to false.
>
> One problem is that in current Javascript, the equality and the
> comparison operators are at different precedence levels.  Python puts
> them at the same level, so that chaining can be purely left-to-right.
> There's a decent chance that code does indeed depend on this, due to
> testing equality of a comparison with a bool (which is stupid, but
> people do it).
>

While this is all true, the simple answer is:

var a = 1, b = 2, c = 3;
a < b < c; // true

is already valid JavaScript and can't be co-opted to express new runtime
evaluation semantics.


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

Reply via email to