1. 程式人生 > >對ES6的初步瞭解

對ES6的初步瞭解

ES6

ES6的瞭解
es6是一個新的標準,它包含了許多新的語言特性和庫,是JS最實質性的一次升級。
比如’箭頭函式’、’字串模板’、’generators(生成器)’、’async/await’、’解構賦值’、’class’等等,還有就是引入module模組的概念。

箭頭函式
可以讓this指向固定化,這種特性很有利於封裝回調函式
(1)函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。
(2)不可以當作建構函式,也就是說,不可以使用new命令,否則會丟擲一個錯誤。
(3)不可以使用arguments物件,該物件在函式體內不存在。如果要用,可以用Rest引數代替。
(4)不可以使用yield命令,因此箭頭函式不能用作Generator函式。

async/await 是寫非同步程式碼的新方式,以前的方法有回撥函式和Promise。
async/await是基於Promise實現的,它不能用於普通的回撥函式。async/await與Promise一樣,是非阻塞的。
async/await使得非同步程式碼看起來像同步程式碼,這正是它的魔力所在。

說說你對Promise的理解

Promise 是非同步程式設計的一種解決方案,比傳統的解決方案——回撥函式和事件監聽——更合理和更強大。

所謂Promise,簡單說就是一個容器,裡面儲存著某個未來才會結束的事件(通常是一個非同步操作)的結果。從語法上說,Promise 是一個物件,從它可以獲取非同步操作的訊息。Promise 提供統一的 API,各種非同步操作都可以用同樣的方法進行處理。

Promise物件有以下兩個特點:
1) 物件的狀態不受外界影響,Promise物件代表一個非同步操作,有三種狀態:Pending(進行中)、Resolved(已完成,又稱 Fulfilled)和Rejected(已失敗)

2) 一旦狀態改變,就不會再變,任何時候都可以得到這個結果。