1. var 可以重复声明 let,const不能重复声明
2. var函数作用域 let const 块级作用域
3. var存在变量提升 let const不存在变量提升
console.log(name) undefined 报错
var name='pink' let||const name='pink'
4. 暂时性死区:let和const声明前都是不可用的,使用var声明不存在暂时性死区
5. var声明的变量是全局变量,而let const不是
6. var和let声明可以不设置初始值,const必须设置初始值
7. let 定义变量 const定义常量,const声明的值不能修改,但是const对数组或对象的修改不算做对常量的修改,不会报错 # 常见面试题: