ES6系列一 let const
阿新 • • 發佈:2017-08-06
聲明變量 系列 ++ tor 代碼塊 spa com 屬性 否則
一丶let
1.使用let聲明一個變量,會生成一個獨立的作用域,比var的作用域更為嚴謹,比如for循環
var a = [];
for (var i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a[6](); // 10
var a = [];
for (let i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a[6](); // 6
2.暫時性死區:在代碼塊內,使用let
命令聲明變量之前,該變量都是不可用的。這在語法上,稱為“暫時性死區”(temporal dead zone,簡稱 TDZ)。
3.不能重復性聲明: 同一作用域下,var重復聲明不會報錯,let和const重復聲明會報錯。
二丶const
1.const聲明一個只讀變量,不可更改值,否則則會報錯,但對象和數組可以更改內存指針。比如
const foo = {}; // 為 foo 添加一個屬性,可以成功 foo.prop = 123; foo.prop // 123
const a = [];
a.push(‘Hello‘); // 可執行
a.length = 0; // 可執行
a = [‘Dave‘]; // 報錯
ES6系列一 let const