WeakMap WeakSet
1141 ワード
WeakMap WeakSet
特性: WeakMapのkeyに対する引用とWeakSetのメンバーは弱い引用 である. WeakMapのkeyに対する引用とWeakSetのメンバーはオブジェクトだけです. は を遍歴することができません.
利点:メモリ漏れの原因になりにくい 弱い引用
対象を引用しましたが、ゴミの回収に影響はありません.
この引用によって元のゴミ回収メカニズムが変わることはなく、引用前にゴミ捨て場に入るべきです.引用後はやはりごみ捨て場に入らなければなりません.引用の影響を受けません.
セットメンバーは、唯一、無秩序であり、 を繰り返さない.[value,value]キーの値はキーの名前と一致しています. は巡回できます.方法はadd、delete、has です.
ウェストセットメンバーは対象 です.メンバーは弱い参照です.ゴミ回収メカニズムによって回収され、DOMノードを保存するために使用できます.メモリ漏れを引き起こしにくいです. は遍歴することができなくて、方法はadd、delete、has があります.
Mapは本質的にキーパッドのペアの集合であり、類似の集合 である.は、巡回することができ、多くの方法は、様々なデータフォーマットと を変換することができる.
WeakMap受け入れる対象はキー名(nullを除く)として、他のタイプの値をキー名として受け入れません. キーの名前は弱い引用で、キーの値は任意であり、キーの名前が指すオブジェクトはごみに回収されます.この時キーの名前は無効です. は遍歴することができなくて、方法はget、set、has、delete があります.
具体的な使い方ともっと詳しく説明します.
ES 2015 WeakMapの学習と使用
特性:
利点:
対象を引用しましたが、ゴミの回収に影響はありません.
この引用によって元のゴミ回収メカニズムが変わることはなく、引用前にゴミ捨て場に入るべきです.引用後はやはりごみ捨て場に入らなければなりません.引用の影響を受けません.
var obj = {};
var wm = new WeakMap();
//
wm.set(obj, 1);
console.log(wm.get(obj)); // 1
// obj null, 。
obj = null;
console.log(wm.get(obj)); // undefined
Set Map Weak Set WeakMapの違いセット
ウェストセット
Map
WeakMap
具体的な使い方ともっと詳しく説明します.
ES 2015 WeakMapの学習と使用