之前看過一遍es6,今天面試時被問到了一個很簡單的es6特性,居然沒回答上來,特來重溫一下es6,作個總結性筆記。es6
1、什麼是es6面試
es6是新版本JavaScript語言的標準,在2015年6月發佈,如今瀏覽器已支持絕大部分特性,某些不支持的也可使用Babel轉碼器轉換成JavaScript別的版本。es6提供了不少的新特性和語法糖,使JavaScript更加完善和豐富。編程
2、十大新特性簡介數組
一、const和let關鍵字promise
let:新增的用來聲明變量的命令,相似於var,可是隻在let所在的做用域有效,而且不存在變量提高,外部聲明的同名變量不會影響內部使用let聲明的變量。瀏覽器
const:相似於let,可是const聲明的是一個只讀常量,聲明後必須馬上初始化。angular2
二、解構賦值異步
定義:es6容許按照必定模式,從數組和變量中提取值,並對變量進行賦值。能夠對數組、對象、字符串、函數參數進行解構賦值,若是等號右邊是數值或布爾值時會先專成對象。模塊化
做用:交換變量的值、從函數返回多個值、函數的定義、提取JSON數據、函數參數的默認值、遍歷Map、輸入模塊的指定方法。異步編程
三、默認參數
能夠在函數聲明時對參數設置默認值。以下:
四、模板表達式
es6中能夠在使用反引號定義標識的字符串中插入變量,插入的變量放在${NAME}中,以下所示:
五、多行字符串
在es6用反引號的字符串中,能夠表示多行字符串。以下所示:
六、加強的對象表達式
es6中加強了對象表達式,使之書寫簡便而且更像一個類。
七、箭頭函數
新增了箭頭函數,是一個很是讓開發者喜歡的特性,使書寫函數時更加簡便。可是並非所有的函數均可以用箭頭函數。
八、promise
新增了promise對象,是一種新的異步編程的解決方案,可使用then方法指定resolved和rejected狀態,使用catch方法能夠處理出現的錯誤。angular2用到的就是promise。
九、類
class基本上只是一個es6的語法糖,絕大部分均可以使用es5作到,他的做用只不過是讓JavaScript更加規範,更加像面向對象編程的語言。
十、模塊
之前使用AMD和commonJS等方式實現模塊化,如今es6規範了模塊化。模塊自動採用嚴格模式,
這次面試問道的是...擴展運算符的做用,...運算符的做用是將一個數組轉爲用逗號分隔的參數序列,相似數組的對象、Map也能夠用。
此文章只是針對一些es6經常使用的一些特性的簡介,之後會繼續詳細說明。
參考文章:https://www.jianshu.com/p/53fe8b56cfb0
http://es6.ruanyifeng.com/