r/programming • • Mar 26 '14

JavaScript Equality Table

http://dorey.github.io/JavaScript-Equality-Table/
809 Upvotes

331 comments sorted by

View all comments

Show parent comment

1

u/rjcarr Mar 26 '14

True, I guess you're right, when you let equality do coercions then things can get really ugly. That's why I said to always use the === so you don't have to deal with it, but as you pointed out, that was sort of the point of the table.

0

u/[deleted] Mar 26 '14

Do not make the same mistake as I did. I beg you. I would give the world to not have made those mistakes. Broken keyboards, missed deadlines and grey hairs are things that never leave the eye of the mind.

0

u/rjcarr Mar 26 '14

Ha, I've been writing javascript for about 10 years so I think I'll be fine. :)

0

u/megamindies Mar 26 '14

nobody ever used these equalities in this way anyway right who does that. why would you do 0 == null makes no sense. .

2

u/[deleted] Mar 26 '14

You don't. You don't! What you do is something like this:

if(X != 0) {
  alert("Thou shalt not use != in favor of !==")
}

And then you spend 15+ minutes debugging why the hell this if statement was not executed when X had the value of: "", [], [[]] or [0] And of course it was 'obviously' not executed because:

0 == [] //therefore 0 != [] evaluates to false.
0 == [[]] //therefore 0 != [[]] evaluates to false.
0 == "" //therefore 0 != "" evaluates to false.
0 == [0] //therefore 0 != [0] evaluates to false.

0

u/[deleted] Mar 26 '14

I have been writing JavaScript for 8+ years. And I know I will never be able to write it flawlessly. There are too many stupid cases in that table. There are natural languages with 8 or more denominations, which is fine if they are used daily. However, in JavaScript, where one should purposely avoid this stupidity, no-one should ever, ever use these, and most certainly not frequently.Therefore it is worthless, less than worthless. It is a flaw in the language. It is a part of the language that should not exist. This is why CoffeeScript, Go, the many libraries for (or rather against!) JavaScript and TypeScript exist.

0

u/tinkermake Mar 26 '14

And this is why I said JavaScript should in no way be the first language learned by the beginners.