Map
にMDNのドキュメントは言う:実行時までキーが不明なときにMap()を使用するのはなぜですか?
あなたはまだ[オブジェクトまたはマップ]を使用しているかわからない場合は、 に以下の質問を自問してください:
は通常、未知の鍵であります実行時まで、動的にそれらを検索する必要がありますか?
[...]
これらすべては、あなたがコレクションの地図をしたいサインをしています。 [...] https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Map
しかし、私はあまりにも角括弧でdynamicalyオブジェクトのキーを設定することができます(すなわち。myObject[dynamicKey]
)。
maps
を使用する別の理由は、「マップの目的をフィッティングする」以外の動的キーをコレクションとして使用する場合ですか?これは、同じドキュメント内の以前のポイントに近い関連
I特に 'set'方法は、関数型プログラミングに便利ですマップ、(のようなときのアキュムレータを返すという事実のように'reduce'は地図です)。しかし、この質問は、意見に基づくリスクがある。 – trincot
これがあなたの*唯一の基準であれば、それほど大きな違いはありません。それは、文字列や記号以外のものをキーに使うなど、違いを生む引用符から省略したものの、 'size'を得ること、@trincotは' set'を記述すること、それは必要なプロトタイプを持たない –
* "しかし、私はオブジェクトのキーをダイナミックに角括弧で設定することもできます(つまり、myObject [dynamicKey])。" *できます。しかし、エンジンは、固定されたプロパティセットでオブジェクトを最適化するのに非常に優れています。実行時にプロパティを追加すると、オブジェクトが最適化されなくなる可能性があります。概念的には、オブジェクトを* records *や 'Map's ... * maps *として使用してください。 –