各瀏覽器支持情況:查看>>
新增特性 | 關鍵詞 | 用法 | 描述 |
---|---|---|---|
箭頭操作符 | Arrows | v => console.log(v) | 類似於部分強類型語言中的lambda表達式 |
類的支持 | Classes | - | 原生支持類,讓javascript的OOP編碼更加地道 |
增強的對象字面量 | enhanced object literals | - | 增強對象字面量 |
字符串模板 | template strings | ${num} | 原生支持字符串模板,不再需要第三方庫的支持 |
解構賦值 | destructuring | [x, y] = ['hello', 'world'] | 使用過python的話,你應該很熟悉這個語法 |
函數參數擴展 | default, rest, spread | - | 函數參數可以使用默認值、不定參數以及拓展參數了 |
let、const | let、const | - | javascript中可以使用塊級作用域和聲明常量了 |
for…of遍歷 | for…of | for (v of someArray) { ... } | 又多了一種折騰數組、Map等數據結構的方法了 |
迭代器和生成器 | iterators, generator, iterables | - | ES6較爲難以理解的新東西,後面會有相關文章 |
Unicode | unicode | - | 原生的unicode更加完美的支持 |
模塊和模塊加載 | modules, modules loader | - | ES6中開始支持原生模塊化啦 |
map, set, weakmap, weakset | - | - | 新的數據結構 |
監控代理 | proxies | - | 我們可以監聽對象發生了哪些事,並可以自定義對應的操作 |
Symbols | - | - | 我們可以使用symbol來創建一個不同尋常的key |
Promises | - | - | 這傢伙經常在討論異步處理流程時被提到 |
新的API | math, number, string, array, object | - | 原生的功能性API就是方便些 |
內置對象可以被繼承 | subclassable built-ins | - | 可以基於內置對象,比如Array,來生成一個類 |
二進制、八進制字面量 | - | - | 可以直接在es6中使用二進制或者八進制字面量了 |
Reflect API | - | - | 反射API? |
尾調用 | tail calls | - | ES6中會自動幫你做一些尾遞歸方面的優化 |