diff --git a/docs/iterator.md b/docs/iterator.md index ff8ccd1..152c6a6 100644 --- a/docs/iterator.md +++ b/docs/iterator.md @@ -4,7 +4,7 @@ ### 概念 -JavaScript原有的数据结构,主要是数组(Array)和对象(Object),ES6又添加了Map和Set,用户还可以组合使用它们,定义自己的数据结构。这就需要一种统一的接口机制,来处理所有不同的数据结果。 +JavaScript原有的数据结构,主要是数组(Array)和对象(Object),ES6又添加了Map和Set,用户还可以组合使用它们,定义自己的数据结构。这就需要一种统一的接口机制,来处理所有不同的数据结构。 遍历器(Iterator)就是这样一种机制。它属于一种接口规格,任何数据结构只要部署这个接口,就可以完成遍历操作,即依次处理该结构的所有成员。它的作用有两个,一是为各种数据结构,提供一个统一的、简便的接口,二是使得数据结构的成员能够按某种次序排列。在ES6中,遍历操作特指for...of循环,即Iterator接口主要供for...of消费。 @@ -260,7 +260,7 @@ let arr = ['b', 'c']; 上面代码的扩展运算符内部就调用iterator接口。 -实际上,这提供了一种简便机制,可以将任何部署了iterator接口的对象,转为对象。 +实际上,这提供了一种简便机制,可以将任何部署了iterator接口的数据结构,转为数组。也就是说,只要某个数据结构部署了iterator接口,就可以对它使用扩展运算符,将其转为数组。 ```javascript diff --git a/docs/promise.md b/docs/promise.md index 0e3ca40..9cc41b3 100644 --- a/docs/promise.md +++ b/docs/promise.md @@ -472,6 +472,8 @@ async function asyncValue(value) { 上面代码中,asyncValue函数前面有async关键字,表明函数体内有异步操作。执行的时候,遇到await语句就会先返回,等到timeout函数执行完毕,再返回value。 +ES6将await增加为保留字。使用这个词作为标识符,在ES5是合法的,在ES6将抛出SyntaxError。 + ### 与Promise、Generator的比较 我们通过一个例子,来看Async函数与Promise、Generator函数的区别。