Here is a link to a documentatin for the weak map based solution that Kris mentioned:<div><br></div><div><a href="https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/core/namespace.html">https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/core/namespace.html</a></div>
<div><br></div><div>We find it invaluable and use for storing private field. Inheritance works, but we did not found that feature all that useful in practice, probably because we use that only for data fields</div><div><br>
</div><div>There is also another experiment that I found to be a lot more useful for non data properties like methods</div><div><a href="https://github.com/gozala/method">https://github.com/gozala/method</a></div><div><br>
</div><div>I also honestly wish private names would just be it<span></span><br dir="ltr"><br>On Thursday, January 10, 2013, Kris Kowal  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
As an aside, Irakli Gozashvili and I independently realized that you<br>
could use a WeakMap for parallel objects with inheritance. Very<br>
similar to Brendan’s createStorage, we put together a parallel<br>
universe constructor.<br>
<br>
function Parallel(root) {<br>
    var parallel = new WeakMap();<br>
    root = root || null;<br>
    function get(object) {<br>
        if (!parallel.has(object)) {<br>
            parallel.set(object,<br>
Object.create(get(Object.getPrototypeOf(object))));<br>
        }<br>
        return parallel.get(object);<br>
    }<br>
    return get;<br>
}<br>
<br>
Irakli’s was a Namespace constructor that appeared somewhere in the<br>
Mozilla Add-on toolkit, but the links have gone stale.<br>
<br>
Kris Kowal<br>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'es-discuss@mozilla.org')">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>
</blockquote></div><br><br>-- <br>Typed on tiny virtual keyboard<br>