之前声明变量用 var 那为什么要有let 和 const呢?
var的缺点
1、污染全局变量
2、变量提升 (在未声明之前 会预先定义)
1 | console.log(a) |
3、可以被定义多次
4、不能声明常量
5、默认不会产生作用域
既然var有这些问题,let和const做了处理
let的特性
1、不会污染全局变量(不再挂载到window)
2、不存在变量提升
3、同一个作用域下不可以重复定义
4、let+{}可以产生一个作用域,可以用它来解决异步循环的问题
1 | let a = 1; |
const特性
声明一个只读的常量,只要变量不改变就用const