说明
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。