1. let 与const都是声明所在的块级作用域有效(花括号);
  2. let 声明的变量可以改变,值和类型都可以改变,没有限制,但是需要在作用域中;
  3. const声明的变量不会改变值,一旦声明变量,就必须立即初始化,不能在以后赋值;
  4. var 声明的变量会挂载在window上面,但是let与const不会;
  5. var 声明变量会存在变量提升,但是let与const不存在变量提升;
  6. 同一个作用域中,let 与const不能声明同名变量,但是var可以声明;
  7. 暂存死区;
  8. 简单来说,var管的范围更宽一点,let只管自己范围内的事情。let表现方式更让人感觉好理解一些,所以有的时候一般不用const,直接用let