Iterator(イテレータ)

(標準組み込みオブジェクト)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Iterator

for…of 等で値を一つ一つ取り出せるオブジェクトを指す(反復可能なオブジェクト:配列、文字列等を指す)。イテレータの意味は2つあって「反復可能なオブジェクト」、「イテレータオブジェクト」。通常は後者をイテレータと指す。

  • イテレータオブジェクト
    nextメソッドを持っており、このメソッドを呼び出す事で次々と要素を取り出せるオブジェクトの事を指す。next() を呼び出すと返り値として 配列の値 value と done を返す。done の true, false を見て配列にまだ値があるかを確認する事ができる。
  • 反復可能なオブジェクト
    [Symbol.iterator] メソッドを実装する事でイテレータオブジェクトを返す。上記の事を実装する事で反復可能なオブジェクトを作る事ができる。
var arr = ['f', 'o', 'x', 'k'];
var eArr = arr[Symbol.iterator]();
eArr.next().value //f
eArr.next().value //o
eArr.next().value //x
eArr.next().value //k
console.log(eArr.next()); //{ done: true, value: undefined } ⇒ 「要素がもうない」の意
inserted by FC2 system