しいJavaScript構文においては、ループ処理が強化されています。ような構文もあります。この時の肝になるのがイテレーターとジェネレーターです。この記事では、この2つの機能の使い方を解説します。イテレーターについてイテレーターは以下のような決まりを持った配列です。trueこれを繰り返し呼ぶことによって、ループ処理を行います。it.next();}ただし、このような配列を作るのは面倒であり、高度なプログラミングスキルが求められます。イテレーターが実装されているクラスイテレーターは自作もできますが、すでにイテレーターを実装しているクラスを使うことができます。それは以下の2つです。ArrayMap例えばArrayは以下のように使えます。10Mapは次のようになります。${value});}上記の結果は次のようになります。5MapはJavaScriptで一般的に使われるObjectとは別物です。そのため、以下はエラーになります。イテレータブルではない(つまりイテレーターに対応していない)という内容です。iterableそこで使われるのが、「ジェネレーター」になります。ジェネレーターについてジェネレーターは任意の処理をイテレーターにするための機能です。いう構文を使って、イテレータにデータを送ります。簡単に書くと、次のようになります。console.log(value);}この結果は、以下のようになります。入るという仕組みです。メソッドを呼び出す毎に、結果が得られます。以下のように書けます。最初に説明したイテレーターと同じ構造だからです。メソッドを呼び出すまで、処理を停止できる関数と言い換えることもできます。ジェネレーターに引数を渡すジェネレーターを呼び出す際に、引数を渡せます。この引数はジェネレーター側では1つ前の実行結果として受け取る変数になります。最初の呼び出し時には指定できません。分かりづらいですが、以下のような出力になります。いう書き方があります。この場合、返す値をイテレータブルにすれば、順番に渡すようになります。イテレータブルなので、以下のようになります。aまとめ今回はイテレーターとジェネレーターについて解説しました。イテレーターは配列やMapで使えるので、普段のプログラムの中でもよく使う機能になるでしょう。ジェネレーターは若干特殊な操作にはなりますが、うまく使うと処理全体が分かりやすく書けるようになります。使い方をマスターして、可読性の高いコードを実現してください。中津川篤司プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。2004年、まだ情報が少なかったオープンソースソフトの技術ブログ『MOONGIFT』を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶエバンジェリスト業「DevRel」活動をスタートした。(JavaScript基礎構文)iOS16から導入された「デベロッパモード」についてhtmx:JavaScriptなしでサーバーとの通信を実現する見やすい、メンテナンスしやすいJavaScriptのために。