ES6系列----let、const

總結:

1. 塊級作用域 :let、const聲明的變量,只在該代碼塊內有效;

2. 變量不會提升:let、const不存在變量提升,在未聲明前使用變量,會報ReferError: x is not defined;

3. 暫時性死區:let、const聲明的變量,存在暫時性死區,只要塊級作用域內存在let、const命令,她內部的變量將不會受外界變量的影響;

4. 不允許重複聲明:在同一個作用域內,不允許重複聲明該變量;

5. const聲明的變量不允許修改:並不是指變量的值不能改變,是指變量指向的內存地址不能改變。

6. 頂層對象和全局變量 :頂層對象在瀏覽器中指的是window對象,在ES5中,頂層對象和全局變量是等價的,即:

window.a = 1;
console.log(a);  //1

var a = 2;
console.log(window.a, this.a);  //2, 2

在ES6中 ,let和const聲明的全局變量和頂層對象並不相等,如圖:

var a = 1;
console.log(this.a);  //1

let b = 2;
console.log(this.b);  //undefined;

參考文章:http://es6.ruanyifeng.com/

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章