let 与var的二点不同:
- let只作用于块,即其在整个大括号 {} 之内可见。
- 在变量声明之前就访问变量的话,会直接提示 ReferenceError,而不像 var 那样使用默认值 undefined。
let 和 const 对比:
const 和 let 的作用域是一致的,不同的是 const 变量一旦被赋值,就不能再改变了。
但并不意味着值不能改变,只是无法赋值。
我的建议是,大多数情况下都使用 const,除非你知道你的变量的值还会被改变,这样的话,别人阅读你的代码不用老想着这个变量的值会不会有改变。如果这个变量的值的确需要改变,例如在 for 循环里面,那么就是用 let。这也同时意味着你以后就不要用 var 了。