this post was submitted on 08 Mar 2024
475 points (98.2% liked)

Programmer Humor

32533 readers
399 users here now

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

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 8 months ago (13 children)

I am not good friends with js, what did I miss?

[–] mindbleach 14 points 8 months ago (6 children)

JS is a language where [1,2,11].sort() returns [1,11,2].

And if you use a variable instead of a bare array, half the functions are side-effectful, as determined by coin toss.

And if you try declaring that variable with new Array(3).map() then it will ignore all 3 indices, because undefined is real enough to be enumerated, but not real enough to be iterated, because, and I cannot overstress the importance of this principle in Javascript, go fuck yourself. Go fuck yourself is why.

[–] [email protected] 5 points 8 months ago (2 children)

Array(3) doesn't create [undefined, undefined, undefined, ]; it creates [/* hole */, /* hole */, /* hole */, ]. The holes don't set any property on the array whatsoever, so they are skipped when iterating. How this makes sense, I can't tell you.

[–] cantstopthesignal 2 points 8 months ago

Time is a flat circle

load more comments (1 replies)
load more comments (4 replies)
load more comments (10 replies)