You are viewing a single thread.
View all comments View context
3 points
*

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

permalink
report
parent
reply
5 points
*

isn’t === the one that compare types first?

I just tried on node and 0 == '0' returns true


found the real reason

permalink
report
parent
reply
0 points

Not a JavaScript dev here, but I work with it. Doesn’t “==” do type coercion, though? Isn’t that why “===” exists?

As far as I know the operators “>=” and “<=” are implemented as the negation of “<” and “>” respectively. Why: because when you are working with sticky ordered sets, like natural numbers, those operators work.

Thus “0<=0” -> “!(0>0)” -> “!(false)” -> “true”

Correct me if my thinking is wrong though.

permalink
report
parent
reply

Programmer Humor

!programmerhumor@lemmy.ml

Create post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.

Community stats

  • 3.3K

    Monthly active users

  • 1.5K

    Posts

  • 35K

    Comments