&gt; Why not use `const` as default?<p>The argument I made toward the end of the post is that refactoring from `const` back to `let` is more risky than the other way around.<p>Moreover, surveying my own code, honestly, the vast majority of my declarations should be `var` or `let`, and only a much smaller amount being `const`. I think a lot of people are rushing blindly to `const` without realizing its full behavior.<p>&gt; [`const`] has less rules ... using `let` will introduce complexity<p>I think this is completely backwards. `let` has no special caveats (other than the TDZ thing, which they both have), whereas `const` has this caveat that it&#x27;s only about assignment bindings and not about values.<p>Imagine a piece of code that has `const x = 2` that you later refactor to `const x = [2]`. The complexity is, you now have to contend with the `[2]` being a mutable value where `2` wasn&#x27;t, and `const` sorta pretends to keep you safe but doesn&#x27;t.<p>That&#x27;s the complexity I disfavor.