<div>I have used them in two ways in practical application.</div><div><br></div>A rather odd but quite interesting use case is short lived caches. Consider a recursive static function such as the Fibonacci sequence. You could hold a cache of the previous computations and allow them to be collected at the GC&#39;s leisure.<div>


<br></div><div>Another use case is the ability to prevent memory leaks in situations where you need to maintain a list of all the instances of an object to create &quot;class based&quot; storage for Javascript Objects (generally through a constructor).</div>

<div><br></div><div>Cheers,</div><div>Bradley<br><br><div class="gmail_quote">On Fri, Oct 29, 2010 at 10:33 AM, P T Withington <span dir="ltr">&lt;<a href="mailto:ptw@pobox.com" target="_blank">ptw@pobox.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On 2010-10-29, at 04:50, Peter van der Zee wrote:<br>
<br>
&gt; What&#39;s the use case for weak maps? What would you do with it that currently<br>
&gt; impossible and why is the workaround (if any) problematic enough to warrant<br>
&gt; a weak map implementation?<br>
<br>
</div>Another use case was mentioned in the &quot;New topic regarding Proxies: intercession for ===&quot; thread.  If you want to write a value type, the constructor needs to return the same object for identical parameters for === to work, which means it needs a table of all the objects it has ever made, but it doesn&#39;t need (or want) to hang on to objects that are no longer in use.  [The alternative being discussed in the proxy thread is to be able to customize === to give the same illusion.]<br>



<div><div></div><div>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</div></div></blockquote></div><br></div>