122
submitted 21 hours ago by [email protected] to c/[email protected]

cross-posted from: https://programming.dev/post/33754840

new Date("wtf")

you are viewing a single comment's thread
view the rest of the comments
[-] [email protected] 3 points 20 hours ago

Ok, I get that the Date API is problematic, but I wouldn't expect anything meaningfull from new Date("not a date").getTime() anyway. Why would you in the first place?

[-] [email protected] 5 points 14 hours ago

It's mainly horrid, because it means you have to code extremely defensively (or I guess, use a different API).
You can't rely on new Date("not a date") aborting execution of your function by throwing an error. Instead, you have to know that it can produce an Invalid Date object and check for that. Otherwise a random NaN shows up during execution, which is gonna be extremely fun to try to find the source of.

I understand that it's implemented like that partially for historical reasons, partially because it's often better to display "NaN" rather than nothing, but it's still the sort of behavior that puts me in a cold sweat, because I should be memorizing all kinds of Best Practices™ before trying to code JavaScript.

[-] [email protected] 4 points 14 hours ago

You think you'd get an error from the constructor.

[-] [email protected] 9 points 19 hours ago

Parsing user input? Nonsense data coming from an API?

[-] [email protected] 1 points 18 hours ago* (last edited 18 hours ago)

If you’re expecting shit data then you’d have unit tests for those cases so you’d know what to expect.

[-] [email protected] 3 points 15 hours ago

Maybe you don't expect shit data; you just get it. I know, always expect it....

[-] [email protected] 2 points 15 hours ago

Because this is a simplified example? Maybe you create the object in one place (saying something more realistic like "2015" or whatever your inexperience or AI told you to) and use getTime() at a later place where you thought you created it in a correct way.

[-] [email protected] 0 points 15 hours ago

(saying something more realistic like “2015” or whatever your inexperience or AI told you to)

User input is probably the big one where this API is gonna get stress-tested...

this post was submitted on 12 Jul 2025
122 points (99.2% liked)

Programmer Humor

37164 readers
460 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS