- cross-posted to:
- programmer_humor@programming.dev
- cross-posted to:
- programmer_humor@programming.dev
That’s easily explained by
+being the concatenation operator though. Those are two different operations with the same symbolJust use typescript anyway lol
+is overloaded for string concatenation, but-isn’t so the interpreter coerces the “11” into a number first.yup
('b' + 'a' + + 'a' + 'a').toLowerCase()Returns “banana”
wut
‘a’ + +
This part is the same as writing
'a'++and that returns “NaN” (short for “not a number”) since you can’t increment a character, but this return type is a string, so the interpreter just concatenates it with the other letters:baNaNa. Then that string is converted to lower case to give the final result, “banana”.The space makes that two different tokens, in reality what happens is ‘a’ + (+‘a’) that resolves to ‘a’ + ‘NaN’.
Yep, I believe you’re right




