ES6 从入门到精通 # 02:let 和 const 命令
原创
©著作权归作者所有:来自51CTO博客作者凯小默的博客的原创作品,请联系作者获取转载授权,否则将追究法律责任
说明
ES6 从入门到精通系列(全23讲)学习笔记。
let
1、let 声明变量,没有变量提升
console.log(kaimo);
let kaimo = 10;

2、是一个块作用域
console.log(kaimo)
if(true) {
let kaimo = 666;
}

3、不能重复声明
let kaimo = 666;
let kaimo = 777;

const
const 除了 let 的三个特性,还有下面的特性:
1、声明常量,一旦被声明,无法修改
const kaimo = 666;
kaimo = 777;

2、可以声明对象,并能修改对象里面的属性值
const kai = {
mo: 666
};
kai.mo = 777;

数组也可以修改元素的值:
const a = [1,2,3];
a[0] = 4

作用
作用1、解决 for 变量提升的问题
var arr = [];
for(var i = 0; i < 10; i++) {
arr[i] = function() {
return i;
}
}
arr[6]();

使用 let 跟 const 修改:
const arr = [];
for(let i = 0; i < 10; i++) {
arr[i] = function() {
return i;
}
}
arr[6]();

作用2:不会污染全局变量
let RegExp = 10;
console.log(RegExp);
console.log(window.RegExp);

建议:在默认的情况下用 const,而只有在你知道变量值需要被修改的情况下使用 let。