0
Yup, Javascript can go F@#! itself
(lemmy.ml)
Post funny things about programming here! (Or just rant about your favourite programming language.)
Ok some of these I understand but what the fuck. Why.
Edit: ok I have a theory. == checks equality without casting to any types, so they're not equal. But < and > are numeric operations, so null gets cast to 0. So <= and >= cast it to 0, and it's equal to 0, so it's true.
I'm not sure if you really want to know, but:
greater than, smaller than, will cast the type so it will be
0>0
which is false, ofcourse.0>=0
is true.Now
==
will first compare types, they are different types so it's false.Also I'm a JavaScript Dev and if I ever see someone I work with use these kind of hacks I'm never working together with them again unless they apologize a lot and wash their dirty typing hands with.. acid? :-)
edit: as several people already pointed out, my answer is not accurate. The real solution was mentioned by mycus