es6筆記 day1---let和const的應用

ES6 -> ECMA標準webpack

ES7  ES8web

最先是由ECMA-262版本實現的3d

----------------------------------------blog

ES6 也稱爲ES2015,2015年6月份推出來的作用域

每一年的6月份,會發佈一個版本for循環

2016年6月 ES6.1變量

2017年7月 ES6.2擴展

-----------------------------------------循環

ESnext 下一代JS語言webpack3

-----------------------------------------

任何人均可以向標準委員會(TC39)要求更改語言標準

提案變成標準,經歷5個階段

Stage 0     展現階段

Stage 1  徵求意見階段

Stage 2  草案階段

Stage 3  候選階段

Stage 4  定案階段(標準)

 

ES6環境:webpack3.x

----------------------------------------------------------------------------------------------------------------------------------------------

 

let 和const

關於定義(聲明)變量

----------------------------------------------------------------------------------------

若是聲明瞭變量,那麼會出現彈框

------------------------------------------------------------------------------------------------------------------------------------------------------------

若是是這樣的話,會出現undefind

爲何????

由於此時局部做用域裏面有局部變量,有局部變量的話就優先用局部變量,此時會出現一個變量提高現象,也叫預解析。提高後出現以下狀況:

此時,a雖然被聲明瞭,可是沒有被賦值。因此會出現undefind

 ---------------------------------------------------------------------------------------------------------------------------------------------------

let 至關於以前的var

const 常量,定義好了它就不能改變了

-----------------------------------------------------------------------------------------------------------------------------------------------------

塊級做用域

{

  //塊級做用域

}

if{ }()   for(){}   while(){}

----------------------------------------------------------------------------------------------------------------------------------------------------------

 

1.let不存在變量提高(預解析)這一說。另外,在代碼塊內,只要是let定義變量,在以前使用,都是報錯。必須先定義完,再使用。

 

2.同一個做用域裏,let 不能重複定義變量,可是能夠從新賦值(見上面的截圖案例)

 

3.for循環,for循環裏面是父級做用域,裏面又一個

 

進一步理解塊級做用域:

 

--------------------------------------------------------------------------------------------------------

 TDZ 暫時性死區概念

 

--------------------------------------------------------------------------------------------------------------

const:特性和let同樣

1.const定義變量不能修改

 

2.const定義完變量,必須有值,不能後賦值,不能修改

 

3.const也不能預解析

--------------------------------------------------------------------------------------------------------------------

上面的能夠擴展,下面的就不行

----------------------------------------------------------------------------------------------------

建議:之後就用let,不要再用var了

若是限制住一個常量,就用const吧!

相關文章
相關標籤/搜索