"a"+"b" -> "ab"
"a"-"b" -> NaN
- 0 Posts
- 4 Comments
Joined 3 months ago
Cake day: March 23rd, 2025
You are not logged in. If you use a Fediverse account that is able to follow users, you can follow this user.
squaresinger@lemmy.worldto Programmer Humor@lemmy.ml•“Higher-Order Vibes” Are Killing the Vibe Coding Industry1·8 days agoThanks for
stealingcopying the whole content so I don’t have to click the link!
A friend of mine was applying for a job where they required “at least 5 years knowledge with Angular version X.Y.Z” (can’t remember the exact version, but they asked for all three numbers).
He said “I’ve got 7 years of knowledge with version X-2 to X+2”.
The HR person was like “But you don’t have 5 years of knowledge with version X.Y.Z, so you don’t fit for the job”.
The real fun part was that version X.Y.Z had only been out for two years at that time.
Sure, but the main issue here is that JS doesn’t only auto cast to more generic but in both directions.
Maybe a better example is this:
With + it casts to the more generic string type and then executes the overloaded + as a string concatenation.
But with - it doesn’t throw an exception (e.g. something like “Method not implemented”), but instead casts to the more specific number type, and “a” becomes a NaN, and NaN - 1 becomes NaN as well.
There’s no situation where
"a" - "b"
makes any sense or could be regarded as intentional, so it should just throw an error. String minus number also only makes sense in very specific cases (specifically, the string being a number), so also here I’d expect an error.If the programmer really wants to subtract one number from another and one or both of them are of type string, then the programmer should convert to number manually, e.g. using
parseInt("1") - parseInt("2")
.