ECMAScript6-in-depth学习笔记

ECMAScript 6 (ES6)
JavaScript属于ES的扩展。

第二章·迭代器和for-of循环

1、ES6新增了for-of循环
for (var value of myArray){
  console.log(value);
}

能够正确相应break、return等
支持Map和Set对象的遍历。

**Map对象需要解构,如下例

for(var [key, value] of phoneBookMap){
    console.log(key + "'s phone number is: " + value);
}

可以给任意类型的对象添加迭代器方法,就像myObject.toString()以及 myObject[Symbol.iterator](),然后就可以遍历这个对象了。
所有拥有[Symbol.iterator]()的对象被称为可迭代的。可迭代对象几乎贯穿整门语言中

2、迭代器对象

迭代器对象可以是任意具有.next()方法的对象,在for-of循环中,将重复调用这个方法。其余的还有可选的.return().throw(exc)方法。
使用迭代器重写:

for(VAR of ITERABLE){
    //some...
}

var $iterator = ITERABLE[Symbol.iterator]();
var $result = $iterator.next();
while (!$result.done){
    VAR = $result.value;
    //some...
    $result = $iterator.next();
}

第三章·生成器Grenerators

生成器是一个迭代器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容