【いてれーたー】
イテレーター とは?
💡 データの列を「一つずつ取り出す自動販売機」
📌 このページのポイント
イテレーターって普通のfor文と何が違うの?
具体的にどう使うの?
JavaScriptだとfor...of文を使うとイテレーターが自動で動くよ。「for (const item of items)」と書くだけで一つずつ取り出せる。Pythonのfor文も内部でイテレーターを使っていて、「for item in items:」と書くだけでOKなんだ。
イテレーターのメリットって他にもある?
大きなメリットは「遅延評価」ができることだよ。100万件のデータがあっても、全部メモリに載せずに1件ずつ処理できるんだ。Pythonのジェネレーター(yield文)やJavaScriptのfunction*がまさにこれで、巨大なファイルを1行ずつ読み込むときなんかに威力を発揮するよ。メモリ効率が段違いなんだ。
無限イテレーターって何に使うの?
async iteratorってあるの?
まとめ:ざっくりこれだけ覚えればOK!
「イテレーター」って出てきたら「データの集まりから要素を一つずつ順番に取り出す仕組みだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「iterator」 = 反復するもの
💬 iterateは「繰り返す」という意味。要素を一つずつ繰り返し取り出すことからこう呼ばれるよ