- cross-posted to:
- programmerhumor@lemmy.ml
- cross-posted to:
- programmerhumor@lemmy.ml
Wait until Null opens the door
segmentation fault
NaN minutes later, a truck arrives in the alley, its license plate reads “undefined”. Someone gets out of the vehicle
“I have something for you”
He gives you a package. You open it. It’s an [object Object]“I’ve been looking for you! Got something I’m supposed to deliver. Your hands only.”
Must be from the NPM delivery service. The recipient is lucky the driver didn’t give them thousands of dependencies too.
Ah sweet, my
left-pad
is coming today!“I got a package from Jason”
Guess why he came with a truck and not on a cargo bike…
Because you forgot to tell them that you already have the dependencies at home?
Is it a threat?
You wouldn’t want your code throw an exception
As someone who mostly avoids JavaScript, I don’t see the IT in this image, I just see a bad language I avoid!
This isn’t the languages fault, it’s the developers.
I’m assuming by this you mean the developers of JS /s
besides NaN actually being a number, this could completely and easily be avoided with typescript.
Naaah. Good programmers know how to use
as any as any
to make this work in typescript as well.
I had the exact same reaction.
I kid you not, opening this post on piefed.ca gave me “Internal Server Error” the first time.
I [object Object]
I got one of those too. I called the customer service to get another path home because of disturbances, and they just have robot answering. The robot started halfway through the call just reading pure json at me, and then said “to get this information as a message press 1” or something. This is what I got:
Here is your journey from undefined to undefined: BUSS 506 towards Karolinska sjukhuset 09:36 from undefined 10:18 arrived at undefined. Link to your journey.
I’m an old fuck and I started to code in the late 80s. Fast forward 30 years, I once had to work at a WeWork. One day, directly outside of my small office space, I swear to god, a fucking hipster kid with a Macbook under his arm practiced skateboard moves. That was the exact moment I started hating working in IT. It’s also what I think every Javascript coder looks and acts like.
Youngsters these days, uh?
Now grandpa, time to take your medicine
What’s wrong with skateboards
Nothing. But that kid used it inside a coworking space.
I actually wish skateboards made a come back. Much more preferable over the escooters I see around a lot.
Yeah but no handle so you’re much more likely to eat shit when you go down a slope or something.
Yea, it takes actual skill to use them ha ha
I’m no acupuncturist, but I’m pretty sure that it’s SUPPOSED to say “naan minutes”, which is time spent enjoying delicious Indian flatbread.
I guess you just eat your naan and then your ride arrives to ask you if you have any leftovers? 🤷
But what does that have to do with acupuncture?
Nothing
The Javascript literal interpretation of NaN never fails to amuse me.
"a"+"b" -> "ab" "a"-"b" -> NaN
Yeah:
parseInt("a") -> NoT a NuMbEr
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:
"a" + 1 -> "a1" "a" - 1 -> NaN
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")
.
At that point just throw an exception man
Thirteen furries just had an aneurysm.