ECMAScript6-in-depth學(xué)習(xí)筆記

ECMAScript 6 (ES6)
JavaScript屬于ES的擴(kuò)展。

第二章·迭代器和for-of循環(huán)

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

能夠正確相應(yīng)break、return等
支持Map和Set對象的遍歷。

**Map對象需要解構(gòu),如下例

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循環(huán)中,將重復(fù)調(diào)用這個方法。其余的還有可選的.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

生成器是一個迭代器

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容