Identity. “A is literally B” instead of “A equals B”. This is necessary here in JS because if A is the string “-1” and B is the integer -1, JS evaluates A==B as true because reasons

ForbiddenRoot
link
fedilink
English
2
edit-2
1Y

because if A is the string “-1” and B is the integer -1, JS evaluates A==B as true because reasons

Interesting. If it were the other way around, I think I would have been fine with it (i.e. == used for comparison with type like any other language and === without type). But as it stands now I would hate it if I had to write in JS (but I don’t so it’s fine).

Honestly, I think it actually makes some sense this way around. To me, in JS “==” is kinda “is like” while “===” is “is exactly”. Or, put another way, “equals” versus idk, “more-equals”. I mean, “===” is a much stronger check of equivalence than normal “==”, so I think it deserves to be the one with the extra “=”

Rikudou_Sage
link
fedilink
English
31Y

It’s not that bad, honestly, just something you get used to. When I switch to C++ after a while, I sometimes write === and when I switch back to JS after some time, I occasionally forget to use ===.

In C++ it’s obviously an error and for JS I have my IDE set to warn me about ==. I think I’ve used == in JS (and PHP) intentionally once in the last ~5 years.

Create a 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.
  • 1 user online
  • 120 users / day
  • 257 users / week
  • 744 users / month
  • 3.72K users / 6 months
  • 1 subscriber
  • 1.48K Posts
  • 32.6K Comments
  • Modlog