2017-10-09 31 views
1

私は純粋なnode.jsからTypescriptに切り替えました。 MicrosoftのTypescriptのコーディングガイドラインでは、貢献者がループの代わりにforEachを使用することを望んでいます。文字通りどこでも、forEachを使って反復することはforループを反復するよりも約95%遅いということを読んでいます。for ...の代わりにforEachを使用することを推奨するのはなぜですか?

ほとんどの状況でforeachループがはるかに綺麗に見えるので、パフォーマンス(意思決定が判読可能なコード)を気にしないのだろうか、forEachをTypescriptで使うことができる別の理由があるのだろうか?活字体のためのコーディングガイドライン

Microsoftの:https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines

+0

最初の場所で配列を 'for-in'で繰り返してはいけません。 – zerkms

+0

奇妙なことに、['for..of'](https://www.typescriptlang.org/docs/handbook/iterators-and-generators.html#forofstatements)は言及していないオプション。 – JohnnyHK

+0

こんにちは@JohnnyHKここでコメントしていますが、過去に私はプロジェクトのためにあなたに連絡しようとしましたが、あなたのSOプロフィールに連絡先の詳細は記入していません。あなたが仕事を探しているなら、それを追加したいかもしれません。あなたのご意見ありがとうございます。 – kentor

答えて

0

は、一般的にforeachのが安全ですし、可読性と保守性のためのより良いです。各要素は読み取り専用であるため、変更することはできません。また、範囲外の例外を取得することも不可能です。しかし、パフォーマンスが特に懸念される場合は、forループがより適切であることがわかります。

+0

配列のサイズに応じて、私は反復する必要がありますが、実際にはforループを使用することが重要であると言います。実際に私はTypescriptがパフォーマンスの理由からforループをforループに変換することを望んでいたので、私は両方の利点から利益を得ました:P。 – kentor

+0

パフォーマンスに関して、 'for ... in'は' forEach'よりも(一般的に遅い)(https://jsperf.com/foreach-vs-jquery-each/9)です。 – Paleo

+0

typescriptでテストしていませんが、chrome forループのraw jqueryが優れています。 https://jsperf.com/for-vs-foreach/37グーグル・グーグルでは、これはタイポスクリプトの場合も同様です。 – Chris

関連する問題