this post was submitted on 22 Nov 2025
655 points (98.7% liked)
Programmer Humor
29572 readers
1597 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
Yeah for whatever reason, FE devs want to make everything a const. It's like a religious belief or something, it's really kinda weird.
const fun = () => { const something = "whatever" const array = []; array.push(someting)
for (const thing of array) { if (thing === 'whatever') blah(thing) } }
Semicolons? Optional. Which quotes you should use? Whatever you feel like! But you must declare things as a const wherever possible! Even if it's an array that you're going to be changing, declare it as a const because you should know that you can push things into a const array, and since it's possible to declare it as a const, you must declare it as a const.
Why is this? Nobody knows, but it's important to FE devs that you use const.
semicolons? quotes? use a formatter and don't think about it. I think js world has basically done this already.
const is simpler. why would I declare an array as
letif I'm not reassigning? someone can look at it and know they don't have to think about reassignment of the reference, just normal mutation. ts has the furtherreadonlyto describe the other type of mutation, don't abuseletto mean that.const arrow over named function? gets rid of all the legacy behaviors and apis. no
arguments, consistentthis, and no hoisting or accidental reassignment. the 2 places you should ever use named fn are generator or if you actually needthisIt's nice when a codebase has sane formatter conventions. I can't say that my workplace does, tho…
How is having
argumentsandthisan issue? If one doesn't need them, then it can be just left unused. I really don't get this argument. It makes everything visually a variable. I see no benefit to this convention and actively despise it.I've worked at several places that didn't have formatters when I started. they did by the time I left. you can incrementally adopt them and if it's automated most people at worst don't care. advocate for things you want
reassignment and hoisting are the significant ones. behavior around
thisdoes just seem more intuitive than otherwise when it comes up, so I think telling especially new devs to use const arrow fn everywhere but classes is a reasonable rulehate to break it to you but it behaves like a variable either way.
functionjust behaves closer to avarvariable.constfns are less like variables since no assignment. intellisense/devtools all show them just fine. it really is just a minor aesthetic difference on the definitionWe use formatters, I just disagree with our current conventions (nitpicky, I know).
To me it's about readability and declaring everything as
constgoes against that.What benefits does it have? Using
thisin arrow functions is still valid it's just that they will use parent scope to resolve it. You saying it doesn't havethisorargumentsdoesn't convey any benefits (nor real drawbacks) to me. Hence the convention feels useless at best.