1.let/const定义的变量不会出现变量提升,而var定义的变量会提升2.相同作用域中,let和const不能出现重复声明。而var就可以3.const声明变量时必须设置初始值4.const声明一个只读的常量,这个常量不可改变。在这里有个非常重要的点:JS中,复杂数据类型,存储在栈中的是堆内存的地址,存在栈中的这个地址是不变的,但是存在堆中的值是可以变得