I don&#x27;t agree with this style.<p>`var` is broken. Don&#x27;t try to find a use-case for it. Just don&#x27;t use it.<p>It would be nicer to have real, deep immutability, but `const` isn&#x27;t it. Therefore, use it for what it actually is, not what you wish it was. If you don&#x27;t intend to reassign a reference, then mark the reference constant. That&#x27;s it.<p>It may be surprising, but it&#x27;s quite easy to write JS where almost every declaration is `const`. When every mundane variable is `const`, then the more complex initializations&#x2F;data flows&#x2F;accumulators really requiring `let` stand out, which is very useful for reviewing code (&quot;let&quot; = &quot;warning: there may be an `else` or missing `switch` case that will leave that undefined&quot;).<p>Because `const` requires to be initialized at the time of definition, you know the variable is valid for its entire lifetime. When you find its value was wrong, there&#x27;s only one place where the value could have come from (you don&#x27;t need to comb the function to look for reassignments).