On Mon, Jul 22, 2013 at 5:25 AM, Brendan Eich <[email protected]> wrote:


> This is the part we can't determine. "The web" is not just the
> Google-indexable (by what user agent?) part, but paywalled and intranet
> content as well. I've written before that finding true positives helps
> reject a proposed incompatible change, but finding no positives does not
> prove that we can make the change.
>
> Furthermore, the first browser to roll the dice and face breakage loses,
> making implementors generally unwilling to take even likely-small risks.
> This browser Prisoner's Dilemma can be helped by cooperation, e.g., among
> TC39ers, but even then only for a big enough payoff. See the typeof null ==
> "null" attempt early in ES6 development for an example.
>

typeof null == "null" is a different case though.  typeof is a requirement
for checking the existence of pre-declared variables, so you could expect
something like, if (typeof someVar === "object" && someVar === null), to
appear at least in a few places on the web.  Tab's saying that this
proposal wouldn't break much (if anything) because code isn't written like
this anywhere: it wouldn't be readable or reliable.  Writing a < b < c in
ES<=5 would be either stupidity or ignorance (in the case of the latter
then this proposal would probably fix more code than it breaks).  For
equality, there might be a problem where code is written like, if (a === b
=== true), where a and b are something other than booleans.  I could maybe
see an outside chance that this appears somewhere on the web or an
intranet, but maybe there's a way we can deal with it so it doesn't break
backwards compatibility.

"use chained comparisons";, anyone? ;-)
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to