(免責事項:私はしばらくの間、マイクロソフトでチャクラJavaScriptエンジンで働いていた)
んarrayVariable1がarrayVariable2と比較して、それが空の場合でも、メモリを取りますか?
はい、空の配列があるため内部Array
オブジェクトの状態と初期化のundefined
又はnull
値よりも多くのメモリを使用します。
資産の遅延初期化などのマイクロ最適化のパフォーマンスへの影響を無視すると、コード複雑性のコストがかかります(例のように、arrayVariable
が-undefined
ではないかどうかを確認する必要があります) - null
あなたのコードは、最初のリストに値を追加することができますあなたは= []
を使用して空の配列にプロパティを熱心に初期化した場合のコードは、後続のプログラマに、より読みやすく、理解しやすいだろう
private arrayVariable2 = undefined
のご利用について:あなた。 「未設定」または空の初期プロパティ値を定義する場合は、代わりにnull
を使用する必要があります。undefined
には特別なルールがあります。あなたがランタイムで定義されたプロトタイプオブジェクトではなく、クラスのパフォーマンス上の利点を元に戻しているので、のundefined
を使用すると、生産性が低下します。
出典
2017-02-09 06:10:41
Dai
間違っ割り当てに対して良好な保護であることを確認する
は、あなたが問題に手の込んだことができます非最適化を引き起こすインスタンスメンバに 'undefined'を使用していますか? –