ECMAScript 6(簡稱ES6)是JavaScript語言的最新標準。因為當前版本的ES6是在2015年釋出的,所以又稱ECMAScript 2015。
微信小程式支援絕大部分ES6的新增特性。
ES6新特性:Constants(常量)、Scoping(作用域)、Arrow Functions(箭頭函式)
ES6新特性:Template Literals(模板物件)、Extended Literals(字面量的擴充套件)、Enhanced
Regular Expression(增強的正規表示式)、Enhanced Object
Literals(增強的物件字面量)、Destructuring Assignment(解構賦值)
ES6新特性——類:Class Definition(類的定義)、Class
Inheritance(類的繼承)、Getter/Setter、Static Members(靜態成員)
ES6新特性:Symbol Type、Iterators(迭代器)、Set、Map資料結構、Typed Arrays(型別化陣列)
ES6新特性——內建物件的變化:ES6對Object、Array、String、Number、Math等原生物件新增了許多新的API
ES6新特性——超程式設計:ES6新增了Proxy和 Reflect特性,擴充套件了超程式設計(Meta
Programming)能力,允許攔截並定製基礎語言操作行為(比如,屬性查詢,賦值,列舉,函式調等)
ES6新特性——模組:ES6在語言規格的層面上,實現了模組功能,而且實現得相當簡單,完全可以取代現有的CommonJS和AMD規範,成為瀏覽器和伺服器通用的模組解決方案。
ES6新特性——國際化與本地化:ES6新增了很多對於國際化的支援,比如時間格式,貨幣格式,數字格式等。
ES6新特性應用:不需要申明嚴格模式,用塊級作用域代替IIFES,使用for…of迴圈,通過變數解構交換兩個變數的值,使用展開運算子和剩餘操作符,比較兩個值是否嚴格相等,物件屬性複製
ES6新特性應用:可子類化的內建物件、通過子類工廠實現簡單的合成器、使用weakmaps實現私有例項成員、尾呼叫優化、自定義錯誤類
其他
完整程式碼:https://github.com/guyoung/Gy…
微信小程式Canvas增強元件WeZRender:https://github.com/guyoung/We…