红宝书第四版已经发版了;
var,let,const都可以声明变量。
ECMAScript 变量是松散型的,意思变量可以保存任意类型的数据。let,const只出现在ECMAScript6以上的版本进行使用;
var,let,const间的区别?
1.声明范围
var声明的范围为函数作用域,
let 和const声明的范围都是块作用域,所以变量不会被提升;
2.let,const声明的变量不会在作用域中被提升
3.let,const不能重复声明;
**
- let与const区别:
1)const声明变脸的时候就需要初始化变量;
若const变量引用的是个对象,修改对象内部的属性是可以的!!
(面试会问const值可以改变吗?答:如果声明引用的是个对象的话,对象的值是会发生改变的)
**
最佳实践:const优先,let次之,var不使用;