問題タブ [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.
javascript - パラメータとして配列を使用してWeakMapを新規作成する方法は?
WeakMap に関する MDN ドキュメントを読んでいます。そして、構文について言及しています:
new WeakMap([iterable])
しかし、これを試したところ、エラーが発生しました:
キャッチされていない TypeError: 無効な値が弱いマップ キーとして使用されました
配列を介してそれを行う方法の例を教えてください。
javascript - JavaScript クラス - WeakMap で変数を非公開にし、他のメソッドで「this」を引き続き使用する
「Learning JS DataStructs and Algorithms」という本を読んでいますが、その本では「アイテム」は次のクラスで公開されていると書かれています。
しかし、WeakMap を使用すると、アイテムを再び非公開にすることができます。これは、期待どおりに「this」を使用していない例でのみです。
次に、items.set や items.get などの処理を行ってアクセスするコードの例を示します。これは問題ないように思えますが、コンストラクターの item.get(value) へのアクセスを短縮できるかどうか疑問に思っていました。 「これ」は次のようになります。
これで、this.stack を使用して items.get() 機能にアクセスできますが、それが再び公開されるかどうかはわかりません。
javascript - javascriptのweakmapは、削除されたオブジェクトへの参照を保持します
オブジェクトを削除すると、weakmap
参照が保持されます。
ただし、通常の動作は次のとおりです。オブジェクトを削除すると、weakmap から自動的に削除され、weakmap がメモリ リークを引き起こすことはありません。
または何か問題がありますweakmap
かdelete
?
開発ツールを閉じて開いても、{aa:123}
まだそこにあります。空であることを
期待するweakmap