科學在發(fā)展,技術(shù)在進步。ES6的發(fā)展是必然的。下面提到的語法可能也就是es6新特性的10%-20%,但是開發(fā)上占了80%左右的。廢話不多說。
? ? ? ? 1.let const
const:在ES6中,一般用于聲明常量,聲明后不可更改
let:不可以重復聲明,不會提前聲明,會形成塊級作用域{}
let和var區(qū)別在于,let有塊級作用域的的區(qū)分概念。
如下實例


第二個實例中。let在花括號中形成了作用域,而用var聲明的話,相當于聲明了一個全局變量。
? ? ? ? 2.arrow function

圖片中第一個sum函數(shù)是ES6的寫法,第二個sum函數(shù)是換成ES5的寫法。
箭頭函數(shù)可以繼承上下文的this
需要注意的是,在ES5中,函數(shù)體內(nèi)的this對象,就是定義時所在的對象,而不是使用時所在的對象。
在ES6中,this指向的固定化,并不是因為箭頭函數(shù)內(nèi)部有綁定this的機制,實際原因是箭頭函數(shù)根本沒有自己的this,導致內(nèi)部的this就是外層代碼塊的this。正是因為它沒有this,所以也就不能用作構(gòu)造函數(shù)。
同時,ES6不可以使用arguments對象,該對象在函數(shù)體內(nèi)不存在。如果要用,可以用Rest參數(shù)代替。
? ? ? ? 3.template string(模板字符串)

在ES6中,我們可以使用新的語法$?{NAME},并把它放在反引號里。
在多行字符串的拼接中,使用反引號即可完成拼接。
? ? ? ? 3.Default Parameters(默認參數(shù))

在ES5中,我們設置默認參數(shù)需要用上敘link1方法。同時,傳參的時候需要注意!不能傳0。因為0是false。傳進去不能達到你預期的效果。在ES6中的默認參數(shù),可以直接寫在傳參里面。是不是覺得省事很多。同時,傳0的缺陷也得到了解決
? ? ? ? 4.destructuring(解構(gòu)賦值)

ES6中的解構(gòu)賦值,也使用得很廣泛。
ES6結(jié)構(gòu)賦值也可以反過來,如上敘的圖片最后一行。
當然,這只是冰山一角,ES6還提供了很多新功能。有興趣的可以詳細了解
1、Class (類)構(gòu)造函數(shù)
2、?Modules?(模塊)
3、?Promises(處理異步)
4、全新的Math,?Number,?String,?Array?和?Object?方法
5、二進制和八進制數(shù)據(jù)類型
6、默認參數(shù)不定參數(shù)擴展運算符
7、Symbols符號
8、tail調(diào)用
9、Generators?(生成器)
10、New?data?structures?like?Map?and?Set(新的數(shù)據(jù)構(gòu)造對像MAP和set)