私は使用を提案する多くの質問を見てきました:
for (var i = 0; i < myArray.length; i++){ /* ... */ }
の代わりに:
for (var i in myArray){ /* ... */ }
配列の場合、一貫性のない反復のため(ここを参照)。
しかし、オブジェクト指向ループを好むように見えるものを見つけることができないようです:
myArray.forEach(function(item, index){ /* ... */ });
これは私にはもっと直感的に思えます。
現在のプロジェクトでは、IE8の互換性が重要であり、Mozillaのポリフィルの使用を検討していますが、これがどのように機能するかは100%わかりません。
- 標準のforループ(上記の最初の例)と最近のブラウザーによるArray.prototype.forEach実装の間に違いはありますか?
- 最近のブラウザーの実装と上記にリンクされているMozillaの実装(特にIE8に関連)の間に違いはありますか?
- パフォーマンスはそれほど問題ではなく、反復されるプロパティとの一貫性のみです。
break
からforEach
。しかし、大きな利点は、関数を使用して新しいスコープを作成することです。ポリフィルを使用すると、問題が発生することはありません(少なくとも私は問題に遭遇していません)。