JavaScript 的单线程,如果没有异步编程的话将会苦不堪言。ES6 之前,异步编程的方法,大概有下面4种:
1、回调函数
2、事件监听
发布/订阅
Promise对象
无论采用哪种方法,代码都不显得那么优雅。ES6将 JavaScript 异步编程带入了一个全新的阶段。回想起第一次遇见 Generator 时的兴奋之情仍然历历在目。一直以为自己理解了Generator 函数,直到今天有朋友问起一些问题才发现自己根本就没有理解清楚,为了让自己更加清楚明白,参考了阮一峰的深入掌握 ECMAScript 6 异步编程系列的文章后,就有了下文。
主要从4个方面讲述 ES6 的异步编程,分别是Generator、Thunk、Co以及Async (严格说是属于 ES7 的范畴了)。
二、ES6特性中文版
ES6 包含了以下这些新特性:
Arrows 箭头函数
classes 类
enhanced object literals 增强的对象字面量
template strings 模板字符串
destructuring 解构
default + rest + spread 默认参数+不定参数+参数展开
let + const let + const 操作符
iterators + for..of 迭代器 + for...of
generators 生成器
unicode 统一码
modules 模块
module loaders 模块加载器
map + set + weakmap + weakset 数据结构
proxies 代理
symbols 符号
subclassable built-ins 可子类化内建对象
promises 对象
math + number + string + object APIs
binary and octal literals 二进制和八进制字面量
reflect api 反射API
tail calls 尾调用
三、ES2016 和 ES2017 将加入的一些新特性
更过ES6文章请点击
网友评论