【JavaScript入門】配列の繰り返し処理(for, for of, for in, forEach)

配列に対して繰り返し処理を行う場合、for・for of・for in・forEach などが使用できます。
それぞれの特徴についてまとめました。

それぞれの特徴

for

特に制限なし。

for of

IEに対応していない。Edgeには対応している。

for in

インデックス順で処理が行われる保証がない。(順不同)

forEach

例外以外でループを抜けることができない。

例外でループを抜ける場合の例

各構文で若干の制限があります。

じゃあ、for でいいのではないか?

for of を使って、IE でエラーが・・・

for in を使って、ん?順番が保証されていない・・・

と思わぬ不具合を埋め込むなら、シンプルに for でいいのでは?

配列の全ての要素に対して処理を行う場合、他の構文の方が若干楽に書けるけど、不具合を埋め込むよりはマシ!

という考えもあるかと思います。

もし自分が、コーディングルールを作るなら

forEach
全配列要素に対して必ず処理を行う場合に使用。

for
forEachを使用しない場合に使用。

for of
使用しない。
まだ IE を使用しているユーザーも 2019/12 時点で 約12%程度いるから。
ただし、IEを意識しない場合、 for of 一本でいい気がする。

for in
使用しない。
順不同な動作が、思わぬ不具合を埋め込む恐れがあるから。

というところでしょうか。

参考サイト
MDN for
MDN for of
MDN for..in
MDN forEach

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする