[JavaScript] iterator和iterable

1. iterator

<u></u>iterator是具有無參next方法的對(duì)象,這個(gè)next方法返回{value: anything ,done: boolean}

2. iterable

<u></u>iterable是具有迭代行為的對(duì)象。
為了具有迭代行為,要遵循迭代協(xié)議,即,
對(duì)象必須實(shí)現(xiàn)Symbol.iterator無參方法(或者繼承了這個(gè)方法),
并讓這個(gè)方法返回一個(gè)iterator。

例如:

var iterable = {
    [Symbol.iterator]: () => {
        var v = 0;

        //返回iterator
        return {
            next: function () {
                return {
                    value: ++v,
                    done: v > 3
                };
            }
        };
    }
}

console.log(...iterable);    //1 2 3

注:作為對(duì)象屬性的方法名可以簡(jiǎn)寫,

var obj={
    method:function(){
        //
    }
}

//等價(jià)于
var obj={
    method(){
        //
    }
}

//如果function中不使用this,可以用lambda函數(shù)改寫
var obj={
    method: ()=>{
        //
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Iterator(遍歷器)的概念 JavaScript原有的表示“集合”的數(shù)據(jù)結(jié)構(gòu),主要是數(shù)組(Array)和對(duì)象...
    呼呼哥閱讀 4,537評(píng)論 0 2
  • 以下內(nèi)容是我在學(xué)習(xí)和研究ES6時(shí),對(duì)ES6的特性、重點(diǎn)和注意事項(xiàng)的提取、精練和總結(jié),可以做為ES6特性的字典;在本...
    科研者閱讀 3,266評(píng)論 2 9
  • 你不知道JS:異步 第四章:生成器(Generators) 在第二章,我們明確了采用回調(diào)表示異步流的兩個(gè)關(guān)鍵缺點(diǎn):...
    purple_force閱讀 1,035評(píng)論 0 2
  • 很多人都說想活成自己想要的樣子,但是事實(shí)上很多人都不知道自己想要的樣子到底是個(gè)什么樣子。 聽起來像個(gè)繞口令,其實(shí)說...
    Miss墨菲閱讀 1,043評(píng)論 4 7
  • 畢業(yè)六年了 今天在朋友圈里看見了你的動(dòng)態(tài) 一張結(jié)婚證 祝福你,謝謝你 祝你幸福 謝謝你曾經(jīng)愛過我…
    HLJL閱讀 469評(píng)論 0 0

友情鏈接更多精彩內(nèi)容