私はで実行しました。これは、クロスブラウザWeakMapをES5に実装しています。 (WeakMapはES6の予定です)EcmaScript5でWeakMapを実装していますか?
これはJavaScript言語自体でサポートされていない可能性がありますか?
編集:ただ、明確にするために、私は弱い地図ではなく、通常のマップを参照しています。私はこのプロジェクトをChromeのプロファイラを使用してテストしましたが、キーは強力な参照によって保持されていません。彼らはWeakMapからそれらを削除することなくGC'ed取得します。
ソースコードの検討を検討してください。 –
@squintそれはかなり深いことをしています - 私はキーに強い参照を保持していない方法を把握することはできません。たとえば、配列を使用していません。 – paleozogt
WeakMapsは、オブジェクトにデータを関連付けることができますが、WeakMapインスタンス自体がガベージコレクションされたときにオブジェクトがガベージコレクションされるようにするES6機能です。言語サポートなしでこれらの両方を行うことは不可能です。ほとんどのWeakMapシムは、WeakMapインスタンス自体がGCされたときにデータをGCさせるという部分については無視します。 – AgentME