問題タブ [weakmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1503 参照

javascript - パラメータとして配列を使用してWeakMapを新規作成する方法は?

WeakMap に関する MDN ドキュメントを読んでいます。そして、構文について言及しています:

new WeakMap([iterable])

しかし、これを試したところ、エラーが発生しました:

キャッチされていない TypeError: 無効な値が弱いマップ キーとして使用されました

配列を介してそれを行う方法の例を教えてください。

0 投票する
1 に答える
414 参照

javascript - JavaScript クラス - WeakMap で変数を非公開にし、他のメソッドで「this」を引き続き使用する

「Learning JS DataStructs and Algorithms」という本を読んでいますが、その本では「アイテム」は次のクラスで公開されていると書かれています。

しかし、WeakMap を使用すると、アイテムを再び非公開にすることができます。これは、期待どおりに「this」を使用していない例でのみです。

次に、items.set や items.get などの処理を行ってアクセスするコードの例を示します。これは問題ないように思えますが、コンストラクターの item.get(value) へのアクセスを短縮できるかどうか疑問に思っていました。 「これ」は次のようになります。

これで、this.stack を使用して items.get() 機能にアクセスできますが、それが再び公開されるかどうかはわかりません。

0 投票する
3 に答える
513 参照

javascript - javascriptのweakmapは、削除されたオブジェクトへの参照を保持します

オブジェクトを削除すると、weakmap参照が保持されます。
ただし、通常の動作は次のとおりです。オブジェクトを削除すると、weakmap から自動的に削除され、weakmap がメモリ リークを引き起こすことはありません。
または何か問題がありますweakmapdelete

開発ツールを閉じて開いても、{aa:123}まだそこにあります。空であることを
期待するweakmap