3 ms·
>Consider that this may simply be a knowledge gap on your end. My experience says this is very far from the truth. JavaScript's implementation of const is conf
by hoorayimhelping 6y ago
>Consider that this may simply be a knowledge gap on your end.
My experience says this is very far from the truth. JavaScript's implementation of const is confusing for almost everyone the first time they come across it, especially the area you're talking about - changing collections. Junior engineers and non JavaScript senior engineers alike don't seem to understand what const actually means until they dig in to get deeper context, which I would point as a pretty big failure of language design.
- maple3142 6y agoI don't think it is really confusing if you already know how "final" works in Java or (const) references in C++.
- throwanem 6y agoI think it's a failure of education, specifically around the concept of binding as the general case of assignment. I came late to that myself, not encountering it as a discrete concept until I got interested in Lisp, and found it clarified a great deal for me that had previously been obscure. With that concept available, const is trivially explained as an immutable binding, as indeed the author of the book under discussion explains it elsewhere in this comment thread. Without it, yeah, const feels full of special cases, just like everything else involving non-primitive types. It's something I've learned to cover early in teaching the language, because a little early effort there goes a long way toward clearing up a lot of confusion later.