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