a. var存在变量提升,let和const不存在变量提升,变量只能在声明之后使用,否在会报错;
b. var声明变量时,允许重复声明变量,而const和let不能重复声明。
c. 使用let、const命令声明的变量存在暂时性死区,而var不存在暂时性死区。
d. 在变量声明时,var 和 let 可以不用设置初始值。而const声明变量必须设置初始值。
e. var声明的变量不具有块级作用域的特征,而let、const声明的变量具有块级作用域的特征。
f. var、let声明的变量允许重新赋值,而const不允许重新赋值。