Iterator和for...of
是什么:
Iterator(迭代器)是專門用來控制如何遍歷的對象,具有特殊的接口。
一個迭代器對象 ,知道如何每次訪問集合中的一項, 并記錄它的當前在序列中所在的位置。在JavaScript中迭代器是一個對象,它提供了一個 next() 方法,返回序列中的下一項。這個方法返回包含done和value兩個屬性的對象。
迭代器對象創(chuàng)建后,可以反復調用 next()使用。
怎么用:
Iterator對象帶有next方法,每一次調用next方法,都會返回數據結構的當前成員的信息。具體來說,就是返回一個包含value和done兩個屬性的對象。其中,value屬性是當前成員的值,done屬性是一個布爾值,表示遍歷是否結束。
ES6規(guī)定,默認的Iterator接口部署在數據結構的Symbol.iterator屬性,或者說,一個數據結構只要具有Symbol.iterator屬性,就可以認為是“可遍歷的”(iterable)。Symbol.iterator屬性本身是一個函數,就是當前數據結構默認的遍歷器生成函數。執(zhí)行這個函數,就會返回一個遍歷器。
網友評論