美文网首页
ECMAScript6-in-depth学习笔记

ECMAScript6-in-depth学习笔记

作者: Rio2017110 | 来源:发表于2017-02-20 13:42 被阅读0次

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

生成器是一个迭代器

相关文章

网友评论

      本文标题:ECMAScript6-in-depth学习笔记

      本文链接:https://www.haomeiwen.com/subject/cwokwttx.html