未完待續...... ECMAScript 6.0(簡稱ES6)是JavaScript語言的下一代標準,已經在2015年6月正式發佈了。它的目標,是使得JavaScript語言可以用來編寫複雜的大型應用程式,成為企業級開發語言。各大瀏覽器的最新版本,隨著時間的推移,支持度已經越來越高了,ES6的大部 ...
未完待續......
ECMAScript 6.0(簡稱ES6)是JavaScript語言的下一代標準,已經在2015年6月正式發佈了。它的目標,是使得JavaScript語言可以用來編寫複雜的大型應用程式,成為企業級開發語言。各大瀏覽器的最新版本,隨著時間的推移,支持度已經越來越高了,ES6的大部分特性都實現了。那麼也就意味著低版本瀏覽器是不支持ES6的。
1:let/const 聲明變數關鍵字
1)let關鍵字特點
- let聲明的變數只在所在的塊級作用域內有效(塊級作用域特點:不受外部環境影響和內部代碼塊影響)
- js預解析時不存在變數的提升定義,存在暫時性死區,聲明語句位置後使用,否則異常
- 暫時性死區(釋義:let聲明的變數進入所在作用域已存在,未聲明前使用報錯,受封閉作用域,不受外部的影響)
- 不允許重覆聲明,重覆聲明異常
2)const關鍵字特點
- const定義的常量是不允許改變值,聲明和賦值必須放在一起,只聲明不賦值,就會報錯
- 擁有和let關鍵字的所有的特點
- const常量定義關鍵字定義的複合類型的變數,變數名不指向存儲的數據,指向數據的存儲地址,const定義的變數控制的是指向的地址不變,並不是該地址指向的數據不變
3)const命令和let命令的區別
頂層對象,在瀏覽器環境指的是window對象,在Node指的是global對象。ES5之中,頂層對象的屬性與全局變數是等價的
ES6全局變數將逐步與頂層對象的屬性脫鉤:
let命令、const命令、class命令聲明的全局變數,不屬於頂層對象的屬性。
var命令和function命令聲明的全局變數,依舊是頂層對象的屬性(保證相容性)
2:變數結構賦值
ES6允許按照一定模式,從數組和對象中提取值,對變數進行賦值,這被稱為解構(Destructuring)
“模式匹配”,只要等號兩邊的模式相同,左邊的變數就會被賦予對應的值。
解構賦值允許指定預設值
3:字元串擴展
4:數值擴展
5:數組擴展
6:函數擴展
7.對象擴展