加载中...

参考链接


官方文件

综合介绍

let和const

  • Kyle Simpson, For and against let: 讨论let命令的作用域
  • kangax, Why typeof is no longer “safe”: 讨论在块级作用域内,let命令的变量声明和赋值的行为
  • Axel Rauschmayer, [Variables and scoping in ECMAScript 6](http://www.2ality.com/2015/02/es6-scoping .html): 讨论块级作用域与let和const的行为
  • Nicolas Bevacqua, [ES6 Let, Const and the “Temporal Dead Zone” (TDZ) in Depth](http://ponyfoo.com/articles /es6-let-const-and-temporal-dead-zone-in-depth)
  • acorn, Function statements in strict mode: 块级作用域对严格模 式的函数声明的影响
  • Axel Rauschmayer, ES proposal: global: 顶层对象global

解构赋值

  • Nick Fitzgerald, Destructuring Assignment in ECMAScript 6: 详细介绍解构赋值的用法
  • Nicholas C. Zakas, [ECMAScript 6 destructuring gotcha](https://www.nczonline.net/blog/2015/10/ecmascript-6-destructuring-gotcha /)

字符串

正则

  • Mathias Bynens, Unicode-aware regular expressions in ES6: 详细介绍正则表达式的u修饰符
  • Axel Rauschmayer, [New regular expression features in ECMAScript 6](http://www.2ality.com/2015/07/regexp-es6 .html):ES6正则特性的详细介绍
  • Yang Guo, [RegExp lookbehind assertions](http://v8project.blogspot.jp/2016/02/regexp-lookbehind-assertions .html):介绍后行断言

数值

数组

  • Axel Rauschmayer, [ECMAScript 6’s new array methods](http://www.2ality.com/2014/05/es6-array-methods .html): 对ES6新增的数组方法的全面介绍
  • TC39, Array.prototype.includes: 数组的includes方法 的规格
  • Axel Rauschmayer, ECMAScript 6: holes in Arrays: 数组的空位问题

函数

  • Nicholas C. Zakas, [Understanding ECMAScript 6 arrow functions](http://www.nczonline.net/blog/2013 /09/10/understanding-ecmascript-6-arrow-functions/)
  • Jack Franklin, [Real Life ES6 - Arrow Functions](http://javascriptplayground.com/blog/2014/04/real-life-es6-arrow-fn /)
  • Axel Rauschmayer, [Handling required parameters in ECMAScript 6](http://www.2ality.com/2014/04/required-parameters-es6 .html)
  • Dmitry Soshnikov, [ES6 Notes: Default values of parameters](http://dmitrysoshnikov.com/ecmascript/es6-notes-default-values-of-parameters /): 介绍参数的默认值
  • Ragan Wald, Destructuring and Recursion in ES6: rest参数和扩展运算符的详细介绍
  • Axel Rauschmayer, [The names of functions in ES6](http://www.2ality.com/2015/09/function-names-es6 .html): 函数的name属性的详细介绍
  • Kyle Simpson, Arrow This: 箭头函数并没有自己的this
  • Derick Bailey, [Do ES6 Arrow Functions Really Solve “this” In JavaScript?](http://derickbailey.com /2015/09/28/do-es6-arrow-functions-really-solve-this-in-javascript/):使用箭头函数处理this指向,必须非常小心
  • Mark McDonnell, [Understanding recursion in functional JavaScript programming](http://www.integralist .co.uk/posts/js-recursion.html): 如何自己实现尾递归优化
  • Nicholas C. Zakas, [The ECMAScript 2016 change you probably don't know](https://www.nczonline.net/blog /2016/10/the-ecmascript-2016-change-you-probably-dont-know/): 使用参数默认值时,不能在函数内部显式开启严格模式

对象

Symbol

  • Axel Rauschmayer, Symbols in ECMAScript 6: Symbol 简介
  • MDN, Symbol: Symbol类型的详细介绍
  • Jason Orendorff, ES6 In Depth: Symbols
  • Keith Cirkel, [Metaprogramming in ES6: Symbols and why they're awesome](http://blog.keithcirkel.co .uk/metaprogramming-in-es6-symbols/): Symbol的深入介绍
  • Axel Rauschmayer, [Customizing ES6 via well-known symbols](http://www.2ality.com/2015/09/well-known-symbols-es6 .html)
  • Derick Bailey, [Creating A True Singleton In Node.js, With ES6 Symbols](https://derickbailey.com/2016 /03/09/creating-a-true-singleton-in-node-js-with-es6-symbols/)
  • Das Surma, [How to read web specs Part IIa – Or: ECMAScript Symbols](https://dassur.ma/things/reading-specs-2 /): 介绍 Symbol 的规格

Set和Map

  • Mozilla Developer Network, [WeakSet](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference /Global_Objects/WeakSet):介绍WeakSet数据结构
  • Dwayne Charrington, [What Are Weakmaps In ES6?](http://ilikekillnerds.com/2015/02/what-are-weakmaps-in-es6 /): WeakMap数据结构介绍
  • Axel Rauschmayer, ECMAScript 6: maps and sets: Set和Map结构的详细介绍
  • Jason Orendorff, [ES6 In Depth: Collections](https://hacks.mozilla.org/2015/06/es6-in-depth-collections /):Set和Map结构的设计思想
  • Axel Rauschmayer, [Converting ES6 Maps to and from JSON](http://www.2ality.com/2015/08/es6-map-json .html): 如何将Map与其他数据结构互相转换

Proxy和Reflect

  • Nicholas C. Zakas, [Creating defensive objects with ES6 proxies](http://www.nczonline.net/blog/2014 /04/22/creating-defensive-objects-with-es6-proxies/)
  • Axel Rauschmayer, [Meta programming with ECMAScript 6 proxies](http://www.2ality.com/2014/12/es6-proxies .html): Proxy详解
  • Daniel Zautner, [Meta-programming JavaScript Using Proxies](http://dzautner.com/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](https://github.com/tvcutsem/harmony-reflect/blob/master/doc/handler_api .md)
  • 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](http://www.2ality .com/2016/11/proxying-builtins.html)
  • Bertalan Miklos, [Writing a JavaScript Framework - Data Binding with ES6 Proxies](https://blog.risingstack .com/writing-a-javascript-framework-data-binding-es6-proxy/): 使用 Proxy 实现观察者模式
  • Keith Cirkel, [Metaprogramming in ES6: Part 2 - Reflect](https://www.keithcirkel.co.uk/metaprogramming-in-es6-part-2-reflect /): Reflect API 的详细介绍

Promise对象

  • Jake Archibald, [JavaScript Promises: There and back again](http://www.html5rocks.com/en/tutorials /es6/promises/)
  • Tilde, rsvp.js
  • Sandeep Panda, [An Overview of JavaScript Promises](http://www.sitepoint.com/overview-javascript-promises /): ES6 Promise入门介绍
  • Dave Atchley, ES6 Promises: Promise的语法介绍
  • Axel Rauschmayer, [ECMAScript 6 promises (2/2): the API](http://www.2ality.com/2014/10/es6-promises-api .html): 对ES6 Promise规格和用法的详细介绍
  • Jack Franklin, [Embracing Promises in JavaScript](http://javascriptplayground.com/blog/2015/02/promises /): catch 方法的例子
  • Ronald Chen, [How to escape Promise Hell](https://medium.com/@pyrolistical/how-to-get-out-of-promise-hell-8c20e0ab0513

.2an1he6vf): 如何使用Promise.all方法的一些很好的例子

  • Jordan Harband, proposal-promise-try: Promise.try () 方法的提案
  • Sven Slootweg, [What is Promise.try, and why does it matter?](http://cryto.net/~joepie91/blog/2016 /05/11/what-is-promise-try-and-why-does-it-matter/): Promise.try() 方法的优点
  • Yehuda Katz, TC39: Promises, Promises: Promise .try() 的用处

Iterator

  • Mozilla Developer Network, [Iterators and generators](https://developer.mozilla.org/en-US/docs/Web /JavaScript/Guide/Iterators_and_Generators)
  • Mozilla Developer Network, [The Iterator protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript /Guide/The_Iterator_protocol)
  • Jason Orendorff, [ES6 In Depth: Iterators and the for-of loop](https://hacks.mozilla.org/2015/04/es6-in-depth-iterators-and-the-for-of-loop /): 遍历器与for...of循环的介绍
  • Axel Rauschmayer, [Iterators and generators in ECMAScript 6](http://www.2ality.com/2013/06/iterators-generators .html): 探讨Iterator和Generator的设计目的
  • Axel Rauschmayer, [Iterables and iterators in ECMAScript 6](http://www.2ality.com/2015/02/es6-iteration .html): Iterator的详细介绍
  • Kyle Simpson, Iterating ES6 Numbers: 在数值对象上部署遍历器

Generator

  • Matt Baker, [Replacing callbacks with ES6 Generators](http://flippinawesome.org/2014/02/10/replacing-callbacks-with-es6-generators /)
  • Steven Sanderson, [Experiments with Koa and JavaScript Generators](http://blog.stevensanderson.com /2013/12/21/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](http://strongloop .com/strongblog/how-to-generators-node-js-yield-use-cases/): 讨论Generator函数的作用
  • StackOverflow, [ES6 yield : what happens to the arguments of the first call next()?](http://stackoverflow .com/questions/20977379/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](http://blog.stevensanderson.com /2013/12/21/experiments-with-koa-and-javascript-generators/): Generator入门介绍,以Koa框架为例
  • Mahdi Dibaiee, [ES7 Array and Generator comprehensions](http://dibaiee.ir/es7-array-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](https://derickbailey .com/2015/10/05/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](http://pouchdb.com/2015/03/05/taming-the-async-beast-with-es7 .html): async函数通俗的实例讲解
  • Jafar Husain, [Async Generators](https://docs.google.com/file/d/0B4PVbLpUIdzoMDR5dWstRllXblU/view?sle =true): 对async与Generator混合使用的一些讨论
  • Daniel Brain, [Understand promises before you start using async/await](https://medium.com/@bluepnume /learn-about-promises-before-you-start-using-async-await-eb148164a9c8): 讨论async/await与Promise的关系
  • Jake Archibald, [Async functions - making promises friendly](https://developers.google.com/web/fundamentals /getting-started/primers/async-functions)
  • Axel Rauschmayer, [ES proposal: asynchronous iteration](http://www.2ality.com/2016/10/asynchronous-iteration .html): 异步遍历器的详细介绍

Class

  • Sebastian Porto, ES6 classes and JavaScript prototypes: ES6 Class的写法与ES5 Prototype的写法对比
  • Jack Franklin, [An introduction to ES6 classes](http://javascriptplayground.com/blog/2014/07/introduction-to-es6-classes-tutorial /): ES6 class的入门介绍
  • Axel Rauschmayer, [ECMAScript 6: new OOP features besides classes](http://www.2ality.com/2014/12/es6-oop .html)
  • Axel Rauschmayer, [Classes in ECMAScript 6 (final semantics)](http://www.2ality.com/2015/02/es6-classes-final .html): Class语法的详细介绍和设计思想分析
  • Eric Faust, [ES6 In Depth: Subclassing](https://hacks.mozilla.org/2015/08/es6-in-depth-subclassing /): Class语法的深入介绍
  • Nicolás Bevacqua, Binding Methods to Class Instance Objects: 如何绑定类的实例中的this

Decorator

  • Maximiliano Fierro, [Declarative vs Imperative](http://elmasse.github.io/js/decorators-bindings-es7 .html): Decorators和Mixin介绍
  • Justin Fagnani, ["Real" Mixins with JavaScript Classes](http://justinfagnani.com/2015/12/21/real-mixins-with-javascript-classes /): 使用类的继承实现Mixin
  • Addy Osmani, Exploring ES2016 Decorators: Decorator的深入介绍
  • Sebastian McKenzie, [Allow decorators for functions as well](https://github.com/wycats/javascript-decorators /issues/4): 为什么修饰器不能用于函数
  • Maximiliano Fierro, [Traits with ES7 Decorators](http://cocktailjs.github.io/blog/traits-with-es7-decorators .html): Trait的用法介绍
  • Jonathan Creamer: [Using ES2016 Decorators to Publish on an Event Bus](http://jonathancreamer.com/using-es2016-decorators-to-publish-on-an-event-bus /): 使用修饰器实现自动发布事件

Module

  • Jack Franklin, [JavaScript Modules the ES6 Way](http://24ways.org/2014/javascript-modules-the-es6-way /): ES6模块入门
  • Axel Rauschmayer, [ECMAScript 6 modules: the final syntax](http://www.2ality.com/2014/09/es6-modules-final .html): ES6模块的介绍,以及与CommonJS规格的详细比较
  • Dave Herman, [Static module resolution](http://calculist.org/blog/2012/06/29/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?

二进制数组

  • Ilmari Heikkinen, [Typed Arrays: Binary Data in the Browser](http://www.html5rocks.com/en/tutorials /webgl/typed_arrays/)
  • Khronos, Typed Array Specification
  • Ian Elliot, [Reading A BMP File In JavaScript](http://www.i-programmer.info/projects/36-web/6234-reading-a-bmp-file-in-javascript .html)
  • Renato Mangini, [How to convert ArrayBuffer to and from String](http://updates.html5rocks.com/2012 /06/How-to-convert-ArrayBuffer-to-and-from-String)
  • Axel Rauschmayer, Typed Arrays in ECMAScript 6

SIMD

工具

  • Babel, Babel Handbook: Babel的用法介绍
  • Google, traceur-compiler: Traceur编译器
  • Casper Beyer, [ECMAScript 6 Features and Tools](http://caspervonb.github.io/2014/03/05/ecmascript6-features-and-tools .html)
  • Stoyan Stefanov, [Writing ES6 today with jstransform](http://www.phpied.com/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](https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

ecmascript-6-harmony): ES6垫片库清单

  • Facebook, regenerator: 将Generator函数转为ES5的转码器

还没有评论.