this post was submitted on 04 Jun 2025
1015 points (98.6% liked)
Programmer Humor
23855 readers
1327 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Nor would I expect "1312" to equal "1213".. Still that operator with these operands should just throw an exception
Given it's JavaScript, which was expressly designed to carry on regardless, I could see an argument for it returning NaN, (or silently doing what Perl does, like I mention in a different comment) but then there'd have to be an entirely different way of concatenating strings.
I'm surprised they didn't borrow
On Error Resume Next
from Visual Basic. Which was wrongly considered to be the worst thing in Visual Basic - when the real worst thing wasOn Error Resume
.On Error Resume Next
at least moved on to the next line of code when an error occurred;On Error Resume
just executed the error-generating line again ... and again ... and again ... and again ...Why would you need an entirely different way of concatenating strings? "11" + 1 -> exception. "11" + to_string(1) = "111"
You're right. I've got too much Perl on the brain and forgot my roots. There is a language that does what you're talking about with the '+' operator: BASIC
Good luck getting the same thing retrofitted into JavaScript though. I can imagine a large number of websites would break or develop mysterious problems if this (mis)behaviour was fixed.
I don't think there's a way to retrofit JS - but php versions are deprecated all the time. Why not do the same with client-side script versions? :)