【JavaScript ECMAScript】Iterator::Iterator.prototype.forEachインスタンスメソッドの使い方
Iterator.prototype.forEach()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Iterator.prototype.forEach()メソッドは、任意のイテレーターが持つ要素を順番にすべて走査し、各要素に対して特定の処理を実行するメソッドです。イテレーターとは、値のコレクションから要素を一つずつ順番に取り出す仕組みを持つオブジェクトのことです。このメソッドは、イテレーターが持つすべての値を順番に取り出し、引数として渡されたコールバック関数を各要素に対して一度ずつ呼び出します。
コールバック関数が実行される際には、現在処理中の要素の値が第1引数として渡されます。例えば、キーと値のペアを持つイテレーター(Map.prototype.entries()など)の場合、第2引数としてキーが渡されることがあります。さらに、第3引数として、このforEach()が呼び出されたイテレーターオブジェクト自身も受け取ることができます。
このメソッドの戻り値は常にundefinedです。Iterator.prototype.forEach()は、元のイテレーターオブジェクト自体を変更したり、新しいイテレーターや配列を生成して返したりするわけではありません。あくまで各要素に対する処理を順番に実行する「副作用」を目的としています。そのため、途中で処理を中断するためのbreak文のような機能は提供されていません。すべての要素に対してコールバック関数が実行される点に注意が必要です。イテレーターの要素を一つずつ消費しながら、それぞれに特定の操作を行いたい場合に非常に有効なメソッドです。
公式リファレンス: Iterator.prototype.forEach()
構文(syntax)
1someIteratorInstance.forEach((element, index, iterator) => { 2 // element: 現在処理中のイテレータの要素 3 // index: 処理中の要素の0から始まるインデックス 4 // iterator: forEach が呼び出された元のイテレータインスタンス 5});
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません