1. let和var都是用于声明变量。
2. var存在变量声明提升,可省略var,该变量就会变成全局变量,在全局作用域下声明的变量会成为window对象的属性。
3. let存在块级作用域,只在let命令所在的代码块内有效,没有变量声明提升,存在暂时性死区,未声明就使用的变量会报错。
4. var可以重复声明但会覆盖前一个同名变量,let不能重复声明。
5. var声明的变量typeof查看有返回值,使用let声明变量typeof不再是一个绝对安全的操作,let声明变量计数不会泄漏。
6. const用于声明一个只读常量,一旦声明必须初始化,如果const变量引用的是引用数据类型,那么可以修改内部的属性,不能改变const变量的地址
7.const和let一样只在它声明的代码块内有用,没有变量声明提升,存在暂时性死区,也不能重复声明。