&gt; `var` is broken<p>Nonsense. Revisionism at its finest.<p>But that&#x27;s an argument I made in a different blog post: <a href="http:&#x2F;&#x2F;davidwalsh.name&#x2F;for-and-against-let" rel="nofollow">http:&#x2F;&#x2F;davidwalsh.name&#x2F;for-and-against-let</a><p>&gt; It would be nicer to have real, deep immutability, but `const` isn&#x27;t it.<p>Yep, agree with you on that. That was one of the main points of my post.<p>&gt; Because `const` requires to be initialized at the time of definition, you know the variable is valid for its entire lifetime.<p>No, that&#x27;s where you&#x27;re mistaken. All you really know is that the variable <i></i>assignment<i></i> is reliable. If the assignment happens to be of an immutable value, great.<p>But given the choice between these two guarantees:<p>1. The assignment is immutable<p>2. The value is immutable<p>(1) is almost pointless -- and a quick scan of your small block where it&#x27;s scoped will verify that or not.<p>(2) is the absolute important one.<p>`const` masquerades as (2) when it&#x27;s really only (1). That&#x27;s what I don&#x27;t like about it.