ES6系列一 let const

一丶letjavascript

1.使用let聲明一個變量,會生成一個獨立的做用域,比var的做用域更爲嚴謹,好比for循環java

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重複聲明會報錯。spa

二丶const指針

1.const聲明一個只讀變量,不可更改值,不然則會報錯,但對象和數組能夠更改內存指針。好比code




const foo = {}; // 爲 foo 添加一個屬性,能夠成功 foo.prop = 123; foo.prop // 123
const a = []; a.push('Hello'); // 可執行 a.length = 0;  // 可執行 a = ['Dave'];  // 報錯
相關文章
相關標籤/搜索