建议:开发时默认使用const,知道变量值需要修改时用let
1、let与const声明变量,没有变量提升
console.log(a);//报错
let a = 1;
2、是一块作用域
if(1 === 1){
let a = 1;
}
console.log(b);//报错
3、let不能重复声明
let a = 1;
var a = 10;
console.log(a);// 报错
let a = 1;
let a = 10;
console.log(a);// 报错
4、const声明常量无法修改
5、作用1:for循环
const arr = [];
for (let i = 0; i < 100; i++) {
arr[i] = function() {
return i;
}
}
console.log(arr[50]()); ==> 50
//若使用var声明i会有变量提升 则输出数组时为100
6、不污染全局变量
let RegExp = 1;
console.log(RegExp); ==> 10
console.log(winow.RegExp); ==> 函数