It seems it is that way, which is weird. You should always convert to the widest type, meaning string for comparing numbers and strings. I just checked that 1 == "01" is true, which means that “01” gets cast to an integer. And according to the document it might be that for example 1 == "a" would basically be interpreted as 1 === NaN which is false.
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !programmerhumor@lemmy.ml
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.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality
mdn goes into it more and it’s way more involved than I thought, looks like order of operand doesn’t matter. see the number to string section
It seems it is that way, which is weird. You should always convert to the widest type, meaning string for comparing numbers and strings. I just checked that
1 == "01"
istrue
, which means that “01” gets cast to an integer. And according to the document it might be that for example1 == "a"
would basically be interpreted as1 === NaN
which isfalse
.