说明

ES6 从入门到精通系列(全23讲)学习笔记。

let

1、let 声明变量,没有变量提升

console.log(kaimo);
let kaimo = 10;

ES6 从入门到精通 # 02:let 和 const 命令_javascript

2、是一个块作用域

console.log(kaimo)
if(true) {
let kaimo = 666;
}

ES6 从入门到精通 # 02:let 和 const 命令_i++_02

3、不能重复声明

let kaimo = 666;
let kaimo = 777;

ES6 从入门到精通 # 02:let 和 const 命令_es6_03

const

const 除了 let 的三个特性,还有下面的特性:

1、声明常量,一旦被声明,无法修改

const kaimo = 666;
kaimo = 777;

ES6 从入门到精通 # 02:let 和 const 命令_es6_04

2、可以声明对象,并能修改对象里面的属性值

const kai = {
mo: 666
};
kai.mo = 777;

ES6 从入门到精通 # 02:let 和 const 命令_javascript_05

数组也可以修改元素的值:

const a = [1,2,3];
a[0] = 4

ES6 从入门到精通 # 02:let 和 const 命令_i++_06

作用

作用1、解决 for 变量提升的问题

var arr = [];
for(var i = 0; i < 10; i++) {
arr[i] = function() {
return i;
}
}
arr[6]();

ES6 从入门到精通 # 02:let 和 const 命令_作用域_07


使用 let 跟 const 修改:

const arr = [];
for(let i = 0; i < 10; i++) {
arr[i] = function() {
return i;
}
}
arr[6]();

ES6 从入门到精通 # 02:let 和 const 命令_es6_08

作用2:不会污染全局变量

let RegExp = 10;
console.log(RegExp);
console.log(window.RegExp);

ES6 从入门到精通 # 02:let 和 const 命令_变量提升_09

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