ホームページ > ウェブフロントエンド > フロントエンドQ&A > ES6のマップとオブジェクトの違いは何ですか

ES6のマップとオブジェクトの違いは何ですか

青灯夜游
リリース: 2022-11-17 13:56:23
オリジナル
3913 人が閲覧しました

違い: 1. Map のキーは任意の値にすることができますが、Object のキーは文字列またはシンボルである必要があります。 2. Map のキーには順序がありますが、Object のキーには順序がありません。 3. Map のキーと値のペアの数は、size 属性を通じて簡単に取得できますが、Object のキーと値のペアの数は手動でのみ計算できます。 4. マップは直接反復できますが、オブジェクトは直接反復できません。 5. キーと値のペアが頻繁に追加または削除されるシナリオでは、マップのパフォーマンスが向上しますが、オブジェクトの効率は低くなります。

ES6のマップとオブジェクトの違いは何ですか

このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。

マップとオブジェクトの概念

オブジェクト

ECMAScript では、オブジェクトは特別なオブジェクトです。これはそれ自体がトップレベルのオブジェクトであり、(new Object() など) を通じてオブジェクトを作成できるコンストラクターでもあります。 JavaScript のすべてのオブジェクトは Object のインスタンスであると考えることができます。オブジェクトはリテラル メソッド const obj = {}

Map

Map を使用して宣言できます。 Object のサブクラスで、キーと値のペアを使用して、任意の型のデータを整然と格納できます。キーは任意の型を格納できます。マップ インスタンスは、const m = new Map(); を通じて取得できます。

Map はオブジェクトに似ており、キーと値のペアのコレクションでもありますが、「キー」の範囲は文字列に限定されず、さまざまな種類の値 (オブジェクトを含む) を取り込むことができます。キーとして使用できます。言い換えると、Object 構造は「文字列と値」の対応を提供し、Map 構造は「値と値」の対応を提供します。これは、ハッシュ構造のより完全な実装です。 「キーと値」のデータ構造が必要な場合は、オブジェクトよりもマップの方が適しています。 Map はパラメータとして配列を受け入れることができます。この配列のメンバーは、キーと値のペアを表す配列です。

#マップとオブジェクトの違い

キーのタイプキーの順序サイズ#Iterationマップは反復可能であるため、直接反復できます。 オブジェクトを反復するには、反復する前に何らかの方法でそのキーを取得する必要があります。 パフォーマンスキーと値のペアが頻繁に追加または削除されるシナリオでは、パフォーマンスが向上します。 キーと値のペアが頻繁に追加および削除されるシナリオでは最適化されません。 [推奨学習: JavaScript 上級チュートリアル

##マップ
オブジェクト
マップのキーには、関数、オブジェクト、または任意の基本タイプを含む任意の値を指定できます。 オブジェクトのキーは文字列またはシンボルである必要があります。
マップ内のキーは順序付けされています。したがって、反復処理の際、Map オブジェクトは挿入順にキー値を返します。 オブジェクトのキーには順序がありません。注: ECMAScript 2015 仕様以降、オブジェクトは文字列キーと記号キーの作成順序を保持するため、文字列キーのみを持つオブジェクトを反復処理すると、挿入順序でキーが生成されます。
Map 内のキーと値のペアの数は、size 属性を通じて簡単に取得できます。 マップ内のキーと値のペアの数オブジェクトは手動でのみ計算できます。
]

以上がES6のマップとオブジェクトの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
es6
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート