現代前端應用一般都會使用ES6進行開發,ReactNative項目一樣也會使用ES6進行開發,對於現代前端項目開發來講,掌握ES6成爲一件十分必要的事情。對於ES6的學習,一般都會閱讀阮一峯的《ECMAScript 6 入門》,如下這本書中開發ReactNative必備的知識點。前端
ECMAScript6(如下簡稱ES6)是JavaScript語言的下一代標準,它的目標是讓JavaScript語言能夠用來編寫複雜的大型應用程序,成爲企業級開發語言。es6
ES6新增了let命令,用來聲明變量,它的用法相似於var,可是所聲明的變量,只在let命令所在的代碼塊內有效。const聲明一個只讀的常量,一旦聲明,常量的值就不能變化。算法
ES6容許按照必定模式,從數組和對象中提取值,對變量進行賦值,這被稱爲解構。編程
length
屬性,將返回沒有指定默認值的參數個數。...變量名
),用於獲取函數的多餘參數,這樣就不須要使用arguments
對象了。name
屬性,返回該函數的函數名。=>
)定義函數。...
)。它比如 rest 參數的逆運算,將一個數組轉爲用逗號分隔的參數序列。apply
方法,將數組轉爲函數的參數了。fill
方法使用給定值,填充一個數組。entries()
,keys()
和values()
——用於遍歷數組。它們都返回一個遍歷器對象name
屬性,返回函數名。對象方法也是函數,所以也有name
屬性。Object.is
就是部署這個算法的新方法。它用來比較兩個值是否嚴格相等,與嚴格比較運算符(===)的行爲基本一致。Object.assign
方法用於對象的合併,將源對象(source)的全部可枚舉屬性,複製到目標對象(target)。Object.assign
方法有不少用處。this
關鍵字老是指向函數所在的當前對象,ES6 又新增了另外一個相似的關鍵字super
,指向當前對象的原型對象。Promise
對象是一個構造函數,用來生成Promise
實例。then
方法,也就是說,then
方法是定義在原型對象Promise.prototype
上的。它的做用是爲 Promise 實例添加狀態改變時的回調函數。前面說過,then
方法的第一個參數是resolved
狀態的回調函數,第二個參數(可選)是rejected
狀態的回調函數。for...of
循環Symbol.iterator
方法),除了下文會介紹的for...of
循環,還有幾個別的場合Symbol.iterator
方法的最簡單實現,仍是使用下一章要介紹的 Generator 函數。next
方法,還能夠具備return
方法和throw
方法。若是你本身寫遍歷器對象生成函數,那麼next
方法是必須部署的,return
方法和throw
方法是否部署是可選的。for...of
循環,做爲遍歷全部數據結構的統一的方法。class
關鍵字,能夠定義類。constructor
方法是類的默認方法,經過new
命令生成對象實例時,自動調用該方法。一個類必須有constructor
方法,若是沒有顯式定義,一個空的constructor
方法會被默認添加。new
命令。前面說過,若是忘記加上new
,像函數那樣調用Class
,將會報錯。this
,它默認指向類的實例。可是,必須很是當心,一旦單獨使用該方法,極可能報錯。static
關鍵字,就表示該方法不會被實例繼承,而是直接經過類來調用,這就稱爲「靜態方法」。extends
關鍵字實現繼承,這比 ES5 的經過修改原型鏈實現繼承,要清晰和方便不少。Object.getPrototypeOf
方法能夠用來從子類上獲取父類。super
這個關鍵字,既能夠看成函數使用,也能夠看成對象使用。在這兩種狀況下,它的用法徹底不一樣。extends
關鍵字後面能夠跟多種類型的值。"use strict";
。export
和import
。export
命令用於規定模塊的對外接口,import
命令用於輸入其餘模塊提供的功能。export
命令定義了模塊的對外接口之後,其餘 JS 文件就能夠經過import
命令加載這個模塊。*
)指定一個對象,全部輸出值都加載在這個對象上面。export default
命令,爲模塊指定默認輸出。let
和const
。其中,let
徹底能夠取代var
,由於二者語義相同,並且let
沒有反作用。let
和const
之間,建議優先使用const
,尤爲是在全局環境,不該該設置變量,只應設置常量。key: value
的數據結構,使用 Map 結構。由於 Map 有內建的遍歷機制。import
取代require
。