跳至主要內容参考链接
参考链接
官方文件
综合介绍
- Axel Rauschmayer, Exploring ES6: Upgrade to the next version of JavaScriptopen in new window: ES6 的专著,本书的许多代码实例来自该书
- Sayanee Basu, Use ECMAScript 6 Todayopen in new window
- Ariya Hidayat, Toward Modern Web Apps with ECMAScript 6open in new window
- Dale Schouten, 10 Ecmascript-6 tricks you can perform right nowopen in new window
- Colin Toh, Lightweight ES6 Features That Pack A Punchopen in new window: ES6 的一些“轻量级”的特性介绍
- Domenic Denicola, ES6: The Awesome Partsopen in new window
- Nicholas C. Zakas, Understanding ECMAScript 6open in new window
- Justin Drake, ECMAScript 6 in Node.JSopen in new window
- Ryan Dao, Summary of ECMAScript 6 major featuresopen in new window
- Luke Hoban, ES6 featuresopen in new window: ES6 新语法点的罗列
- Traceur-compiler, Language Featuresopen in new window: Traceur 文档列出的一些 ES6 例子
- Axel Rauschmayer, ECMAScript 6: what’s next for JavaScript?open in new window: 关于 ES6 新增语法的综合介绍,有很多例子
- Axel Rauschmayer, Getting started with ECMAScript 6open in new window: ES6 语法点的综合介绍
- Toby Ho, ES6 in io.jsopen in new window
- Guillermo Rauch, ECMAScript 6open in new window
- Benjamin De Cock, Frontend Guidelinesopen in new window: ES6 最佳实践
- Jani Hartikainen, ES6: What are the benefits of the new features in practice?open in new window
- kangax, JavaScript quiz. ES6 editionopen in new window: ES6 小测试
- Jeremy Fairbank, HTML5DevConf ES7 and Beyond!open in new window: ES7 新增语法点介绍
- Timothy Gu, How to Read the ECMAScript Specificationopen in new window: 如何读懂 ES6 规格
let 和 const
解构赋值
字符串
正则
数值
数组
函数
- Nicholas C. Zakas, Understanding ECMAScript 6 arrow functionsopen in new window
- Jack Franklin, Real Life ES6 - Arrow Functionsopen in new window
- Axel Rauschmayer, Handling required parameters in ECMAScript 6open in new window
- Dmitry Soshnikov, ES6 Notes: Default values of parametersopen in new window: 介绍参数的默认值
- Ragan Wald, Destructuring and Recursion in ES6open in new window: rest 参数和扩展运算符的详细介绍
- Axel Rauschmayer, The names of functions in ES6open in new window: 函数的 name 属性的详细介绍
- Kyle Simpson, Arrow Thisopen in new window: 箭头函数并没有自己的 this
- Derick Bailey, Do ES6 Arrow Functions Really Solve “this” In JavaScript?open in new window:使用箭头函数处理 this 指向,必须非常小心
- Mark McDonnell, Understanding recursion in functional JavaScript programmingopen in new window: 如何自己实现尾递归优化
- Nicholas C. Zakas, The ECMAScript 2016 change you probably don't knowopen in new window: 使用参数默认值时,不能在函数内部显式开启严格模式
- Axel Rauschmayer, ES proposal: optional catch bindingopen in new window
- Cynthia Lee, When you should use ES6 arrow functions — and when you shouldn’topen in new window: 讨论箭头函数的适用场合
- Eric Elliott, What is this?open in new window: 箭头函数内部的 this 的解释。
对象
Symbol
Set 和 Map
Proxy 和 Reflect
- Nicholas C. Zakas, Creating defensive objects with ES6 proxiesopen in new window
- Axel Rauschmayer, Meta programming with ECMAScript 6 proxiesopen in new window: Proxy 详解
- Daniel Zautner, Meta-programming JavaScript Using Proxiesopen in new window: 使用 Proxy 实现元编程
- Tom Van Cutsem, Harmony-reflectopen in new window: Reflect 对象的设计目的
- Tom Van Cutsem, Proxy Trapsopen in new window: Proxy 拦截操作一览
- Tom Van Cutsem, Reflect APIopen in new window
- Tom Van Cutsem, Proxy Handler APIopen in new window
- Nicolas Bevacqua, ES6 Proxies in Depthopen in new window
- Nicolas Bevacqua, ES6 Proxy Traps in Depthopen in new window
- Nicolas Bevacqua, More ES6 Proxy Traps in Depthopen in new window
- Axel Rauschmayer, Pitfall: not all objects can be wrapped transparently by proxiesopen in new window
- Bertalan Miklos, Writing a JavaScript Framework - Data Binding with ES6 Proxiesopen in new window: 使用 Proxy 实现观察者模式
- Keith Cirkel, Metaprogramming in ES6: Part 2 - Reflectopen in new window: Reflect API 的详细介绍
Promise 对象
- Jake Archibald, JavaScript Promises: There and back againopen in new window
- Jake Archibald, Tasks, microtasks, queues and schedulesopen in new window
- Tilde, rsvp.jsopen in new window
- Sandeep Panda, An Overview of JavaScript Promisesopen in new window: ES6 Promise 入门介绍
- Dave Atchley, ES6 Promisesopen in new window: Promise 的语法介绍
- Axel Rauschmayer, ECMAScript 6 promises (2/2): the APIopen in new window: 对 ES6 Promise 规格和用法的详细介绍
- Jack Franklin, Embracing Promises in JavaScriptopen in new window: catch 方法的例子
- Ronald Chen, How to escape Promise Hellopen in new window: 如何使用
Promise.all
方法的一些很好的例子 - Jordan Harband, proposal-promise-tryopen in new window: Promise.try() 方法的提案
- Sven Slootweg, What is Promise.try, and why does it matter?open in new window: Promise.try() 方法的优点
- Yehuda Katz, TC39: Promises, Promisesopen in new window: Promise.try() 的用处
Iterator
Generator
- Matt Baker, Replacing callbacks with ES6 Generatorsopen in new window
- Steven Sanderson, Experiments with Koa and JavaScript Generatorsopen in new window
- jmar777, What's the Big Deal with Generators?open in new window
- Marc Harter, Generators in Node.js: Common Misconceptions and Three Good Use Casesopen in new window: 讨论 Generator 函数的作用
- StackOverflow, ES6 yield : what happens to the arguments of the first call next()?open in new window: 第一次使用 next 方法时不能带有参数
- Kyle Simpson, ES6 Generators: Complete Seriesopen in new window: 由浅入深探讨 Generator 的系列文章,共四篇
- Gajus Kuizinas, The Definitive Guide to the JavaScript Generatorsopen in new window: 对 Generator 的综合介绍
- Jan Krems, Generators Are Like Arraysopen in new window: 讨论 Generator 可以被当作数据结构看待
- Harold Cooper, Coroutine Event Loops in JavaScriptopen in new window: Generator 用于实现状态机
- Ruslan Ismagilov, learn-generatorsopen in new window: 编程练习,共 6 道题
- Steven Sanderson, Experiments with Koa and JavaScript Generatorsopen in new window: Generator 入门介绍,以 Koa 框架为例
- Mahdi Dibaiee, ES7 Array and Generator comprehensionsopen in new window:ES7 的 Generator 推导
- Nicolas Bevacqua, ES6 Generators in Depthopen in new window
- Axel Rauschmayer, ES6 generators in depthopen in new window: Generator 规格的详尽讲解
- Derick Bailey, Using ES6 Generators To Short-Circuit Hierarchical Data Iterationopen in new window:使用 for...of 循环完成预定的操作步骤
异步操作和 Async 函数
- Luke Hoban, Async Functions for ECMAScriptopen in new window: Async 函数的设计思想,与 Promise、Gernerator 函数的关系
- Jafar Husain, Asynchronous Generators for ES7open in new window: Async 函数的深入讨论
- Nolan Lawson, Taming the asynchronous beast with ES7open in new window: async 函数通俗的实例讲解
- Jafar Husain, Async Generatorsopen in new window: 对 async 与 Generator 混合使用的一些讨论
- Daniel Brain, Understand promises before you start using async/awaitopen in new window: 讨论 async/await 与 Promise 的关系
- Jake Archibald, Async functions - making promises friendlyopen in new window
- Axel Rauschmayer, ES proposal: asynchronous iterationopen in new window: 异步遍历器的详细介绍
- Dima Grossman, How to write async await without try-catch blocks in JavaScriptopen in new window: 除了 try/catch 以外的 async 函数内部捕捉错误的方法
- Mostafa Gaafa, 6 Reasons Why JavaScript’s Async/Await Blows Promises Awayopen in new window: Async 函数的6个好处
- Mathias Bynens, Asynchronous stack traces: why await beats Promise#then()open in new window: async 函数可以保留错误堆栈
Class
Decorator
Module
- Jack Franklin, JavaScript Modules the ES6 Wayopen in new window: ES6 模块入门
- Axel Rauschmayer, ECMAScript 6 modules: the final syntaxopen in new window: ES6 模块的介绍,以及与 CommonJS 规格的详细比较
- Dave Herman, Static module resolutionopen in new window: ES6 模块的静态化设计思想
- Jason Orendorff, ES6 In Depth: Modulesopen in new window: ES6 模块设计思想的介绍
- Ben Newman, The Importance of import and exportopen in new window: ES6 模块的设计思想
- ESDiscuss, Why is "export default var a = 1;" invalid syntax?open in new window
- Bradley Meck, ES6 Module Interoperabilityopen in new window: 介绍 Node 如何处理 ES6 语法加载 CommonJS 模块
- Axel Rauschmayer, Making transpiled ES modules more spec-compliantopen in new window: ES6 模块编译成 CommonJS 模块的详细介绍
- Axel Rauschmayer, ES proposal: import() – dynamically importing ES modulesopen in new window: import() 的用法
- Node EPS, ES Module Interoperabilityopen in new window: Node 对 ES6 模块的处理规格
- Dan Fabulich, Why CommonJS and ES Modules Can’t Get Alongopen in new window: Node.js 对 ES6 模块的处理
二进制数组
SIMD
工具
- Babel, Babel Handbookopen in new window: Babel 的用法介绍
- Google, traceur-compileropen in new window: Traceur 编译器
- Casper Beyer, ECMAScript 6 Features and Toolsopen in new window
- Stoyan Stefanov, Writing ES6 today with jstransformopen in new window
- ES6 Module Loader, ES6 Module Loader Polyfillopen in new window: 在浏览器和 node.js 加载 ES6 模块的一个库,文档里对 ES6 模块有详细解释
- Paul Miller, es6-shimopen in new window: 一个针对老式浏览器,模拟 ES6 部分功能的垫片库(shim)
- army8735, JavaScript Downcastopen in new window: 国产的 ES6 到 ES5 的转码器
- esnext, ES6 Module Transpileropen in new window:基于 node.js 的将 ES6 模块转为 ES5 代码的命令行工具
- Sebastian McKenzie, BabelJSopen in new window: ES6 转译器
- SystemJS, SystemJSopen in new window: 在浏览器中加载 AMD、CJS、ES6 模块的一个垫片库
- Modernizr, HTML5 Cross Browser Polyfillsopen in new window: ES6 垫片库清单
- Facebook, regeneratoropen in new window: 将 Generator 函数转为 ES5 的转码器