this post was submitted on 14 Aug 2025
183 points (95.5% liked)

Programmer Humor

25699 readers
1256 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

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Maiq@lemy.lol 3 points 7 hours ago (1 children)

Was looking at it and could not figure out why their weren't any semicolon's.

[–] ScintillatingStruthio@programming.dev 8 points 6 hours ago (2 children)

Neither Javascript nor Typescript require semicolon, it is entirely a stylistic choice except in very rare circumstances that do not come up in normal code.

[–] Lemminary@lemmy.world 6 points 5 hours ago* (last edited 5 hours ago) (1 children)

Explanation for nerdsThe reason is the JS compiler removes whitespace and introduces semicolons only "where necessary".

So writing

function myFn() {
  return true;
}

Is not the same as

function myFn() {
  return 
    true;
}

Because the compiler will see that and make it:

function myFn() { return; true; }

You big ol' nerd. Tee-hee.

[–] exu@feditown.com 2 points 2 hours ago (1 children)
[–] Lemminary@lemmy.world 1 points 26 minutes ago

Not wrong, but funnily enough, it's a linting rule win. I'd go nuts if I didn't have my type checks and my linters. My current L, though, is setting up the projects initially and dealing with the configuration files if I raw dog it, but that's a problem with ESLint configs and the ecosystem as a whole having to deal with those headaches. So in the end, the JS devs got clever and shifted the blame to the tooling. 😅

[–] Maiq@lemy.lol 3 points 6 hours ago (1 children)

That's good to know. Don't know how I didn't know this. Been writing JS since 2000. Always just used them I guess. Ecmascripts look funny to me without them

[–] Lemminary@lemmy.world 2 points 5 hours ago

Same here. My brain interprets them as one long run-on sentence and throws a parsing error.