用 let 和 const 声明的变量是块范围的;用 var 声明的变量是全局范围的或函数范围的。
var 变量可以在其范围内更新和重新声明;让变量可以更新但不能重新声明;const 变量既不能更新也不能重新声明。
var 可以提升到其作用域的顶部。其中 var 变量初始化为未定义,let 和 const 变量未初始化(临时死区,TDZ)。
虽然可以在不初始化的情况下声明 var 和 let,但必须在声明期间初始化 const。
var 变量可以在其范围内更新和重新声明;让变量可以更新但不能重新声明;const 变量既不能更新也不能重新声明。
var 可以提升到其作用域的顶部。其中 var 变量初始化为未定义,let 和 const 变量未初始化(临时死区,TDZ)。
虽然可以在不初始化的情况下声明 var 和 let,但必须在声明期间初始化 const。