配列を反復処理するときには for-of と forEach のどちらを使うべきですか? [重複] 質問する

配列を反復処理するときには for-of と forEach のどちらを使うべきですか? [重複] 質問する

また、これはスタイルに関する質問ですか、それとも機能に関する質問ですか? 好みの問題ですか、それともどちらかが優れているのですか? for-of の目的を理解しようとしています。

普段は、

let iterable = [10, 20, 30];

iterable.forEach((val) => {
   console.log(val);
})

しかし、この新しい構文が利用可能であることがわかりました。

let iterable = [10, 20, 30];
    
for (let value of iterable) {
   console.log(value);
}

for-of をいつ使用すべきかを明らかにする最適な使用例を挙げていただけますか?

ベストアンサー1

for … ofES6 では常に使用することをお勧めします。

  • どれでも使える反復可能
  • ループ本体では、、、、continueなどのbreakあらゆる種類の制御フローをサポートします。returnyieldawait

また、個人的には、より読みやすいと思いますが、それは好みの問題です。forEachより関数的なスタイルだと考える人もいますが、それは間違いです。結果の価値はなく、副作用を行うことがすべてなので、命令型のループの方がその目的に適しています。

パフォーマンスは問題ではない、現代のエンジンではすべてのループスタイルは同等である

おすすめ記事