ES 6におけるセット、Map、WeakSetとWeakMapの違い

692 ワード

参考資料: https://es6.ruanyifeng.com/#docs/set-map
1.セット
Setはセットというデータ構造で、配列に似ていますが、メンバは一意で無秩序で、重複した値はありません.Set自体はSetデータ構造を生成するためのコンストラクタである.
2.ウェストセット
WeakSetとSetの違い:
  • WeakSetのメンバーはオブジェクトのみであり、他のタイプの値ではなく、Setオブジェクトは
  • であることができる.
  • WeakSetのオブジェクトは弱い参照である.つまり、ゴミ回収メカニズムはWeakSetのオブジェクトに対する参照を考慮しない.つまり、他のオブジェクトがこのオブジェクトを参照しない場合、ゴミ回収メカニズムは自動的に対象が占有しているメモリを回収し、対象がWeakSetに存在することを考慮しない.
  • 3.Map
    Mapは辞書というデータ構造で、対象に似ていて、キーパッドのペアのセットですが、キーの範囲は文字列に限られず、各種類の値(対象を含む)はキーとして使用できます.
    4.WeakMap
    WeakMapとMapの違い:
  • WeakMapは、対象をキー名として受け入れるだけで(nullを除く)、他のタイプの値をキー名として受け入れない
  • WeakMapのキーが指すオブジェクトは、ゴミ回収機構
  • に含まれません.