6 ms·
In the context of the original discussion, TypeScript (and ES6) has const and let.
by hn_throw2025 1y ago
In the context of the original discussion, TypeScript (and ES6) has const and let.
- dragonwriter 1y agoNeither let nor even const are immutable (const prevents reassignment but not mutation if the value is of a mutable type like object or array).
- deleted 1y ago[deleted]
- Kailhus 1y agoYep, I believe you'd need to call Object.seal(foo) to prevent mutability. Haven't really had the chance to use it
- mwcz 1y agoObject.freeze is the one you're looking for. const + Object.freeze is a lot to remember and cumbersome to use throughout a codebase, very relevant to Carmack's wish for immutability by default. I'm grateful Rust opted for that default.
- sunrunner 1y agoFair enough about const and let, the obnoxiousness for me is a combination of the language ergonomics, language ecosystem, but mostly the techno-political decision making behind it.
- AstroBen 1y agowell yeah except const doesn't make objects or arrays immutable
- catlifeonmars 1y agoI feel that Java’s “final” would have been a better choice than “const”. It doesn’t have the same confusing connotation.
- MetaWhirledPeas 1y agoYeah it makes their structure immutable? Something like that. Not useless but not what you would expect. But for non-objects and non-arrays it's fine.