Re:How necessary are var, let, and const?
by bmeck on Monday June 01, 2015 @08:51AM
(#9638130)
const can be used to denote that a reference to the variable is being passed around and should not change for the lifetime of a scope.
It could be important to note that removing const has benign effect, but that it is there to ensure a programmer does not change the value of queue between `consumer(queue)` and `return queue`. Easily reasoned about, but extra safeguards from introducing bugs is always nice.
[ Parent
| on HN ]
Re:How necessary are var, let, and const?
by thomasfoster96 on Monday June 01, 2015 @11:11AM
(#9639168)
I'm not sure I quite understand your point - while it's true that the variable called queue won't be reassigned, const would still allow elements and properties to be added to queue.
const is not about immutability in JS.
Re:How necessary are var, let, and const?
by thomasfoster96 on Wednesday June 03, 2015 @09:17AM
(#9652266)
I know that - but the previous comment made it sound as though it did mean immutability.
Ironically enough, but your example shows where const is shouldn't be used as guarantee of immutability:
https://t.co/JIQozGe7Md
Isn't that a typical "corner case" in the understanding of dynamic languages bindings ? I think I've seen the same question pop about python. The array binding is constant, its content isn't.
if value of constant can be changed, it's not constant. In my understanding. And by Wikipedia: http://en.wikipedia.org/wiki/Constant_(computer_programming)
That's typical computer lingo / semantic issue. the `const` mean shallow/pointer constant, not deep/structurally constant.
const is not about immutability in JS.