why (null <= 0) is true?

Jussi Kalliokoski jussi.kalliokoski at gmail.com
Tue Sep 25 04:04:16 PDT 2012


On Tue, Sep 25, 2012 at 1:22 PM, David Bruant <bruant.d at gmail.com> wrote:

> Le 25/09/2012 12:13, Frank Quan a écrit :
> > Hi, Brendan, thank you for reply.
> >
> >
> > I mean in common understanding, "a>=b" always have the same result
> > with " a>b || a==b ".
> Common understanding assumes a and b are numbers. I personally don't
> know if there is a common understanding of what 'true > "azerty"' could
> mean.
>

Indeed. For the fun of it, I think that in the context of JS that means
`Number(true) < "azerty".charCodeAt(0)`.


> > But I noticed that in ES5/ES3, there are several cases breaking this
> rule.
> >
> > See the following:
> >
> > null == 0 // false
> > null > 0 // false
> >
> > null >= 0 // true
> >
> > I was wondering if this is by design.
> >
> > And, is it possible to have some change in future versions of ES?
> Regrettably, no. As a complement to Brendan's response, I recommand you
> to read the following paragraph
>
> https://github.com/DavidBruant/ECMAScript-regrets#web-technologies-are-ugly-and-there-is-no-way-back
> Changing this in a future version of ECMAScript would "break the web"
> (break websites that rely on this broken behavior)
>
> David
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120925/34d47c8a/attachment-0001.html>


More information about the es-discuss mailing list