<p dir="ltr">Didn't send to list, something is wrong with my reply all. Sorry about that. Stupid mobile gmail.</p>
<div class="gmail_quote">---------- Forwarded message ----------<br>From: "joe" <<a href="mailto:joeedh@gmail.com">joeedh@gmail.com</a>><br>Date: Sep 8, 2015 11:15 AM<br>Subject: Re: Object id, hash, etc?<br>To: "Garrett Smith" <<a href="mailto:dhtmlkitchen@gmail.com">dhtmlkitchen@gmail.com</a>><br>Cc: <br><br type="attribution"><p dir="ltr">I agree with this request. This is the logical complement to valueof, I think. And yes, for most ID use cases this isn't a good fit, but we're not talking about the general case, just the cases where a python style id() function *is* appropriate.</p>
<p dir="ltr">Joe</p>
<div class="gmail_quote">On Sep 8, 2015 9:08 AM, "Garrett Smith" <<a href="mailto:dhtmlkitchen@gmail.com" target="_blank">dhtmlkitchen@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/8/15, Michael McGlothlin <<a href="mailto:mike.mcglothlin@gmail.com" target="_blank">mike.mcglothlin@gmail.com</a>> wrote:<br>
> Is there a reason not to provide an object id and hash value as other<br>
> languages often do? I find myself defining an identity symbol on objects<br>
> with a value from a simple global counter. It makes it easier to debug if I<br>
> can just look at a log and see what objects and functions were active.<br>
><br>
> Likewise a hash value would simplify a lot of comparisons and make it easier<br>
> to debug.<br>
><br>
> I especially find the ID useful when working with bound functions as they<br>
> can be difficult to tell apart. I like to change toString() to provide the<br>
> ID followed by the code (flattened to one line).<br>
><br>
><br>
<br>
NFE's are safe to use where IE8 support isn't needed*.<br>
(function aa(){}).name; // "aa"<br>
<br>
As for using Object IDs and Object Pooling, lexically-scoped values<br>
have benefits over global ID generators (as your counter). The values<br>
can be passed in as a parameter to the Factory (useful with Private<br>
Proxy). There other benefits to this pattern regarding memory<br>
management and application design. Contact me if you'd like to learn<br>
more.<br>
<br>
* <a href="https://kangax.github.io/nfe/" rel="noreferrer" target="_blank">https://kangax.github.io/nfe/</a><br>
--<br>
Garrett<br>
@xkit<br>
<a href="http://ChordCycles.wordpress.com" rel="noreferrer" target="_blank">ChordCycles.wordpress.com</a><br>
<a href="http://garretts.github.io" rel="noreferrer" target="_blank">garretts.github.io</a><br>
<a href="http://personx.tumblr.com" rel="noreferrer" target="_blank">personx.tumblr.com</a><br>
_______________________________________________<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" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div>
</div>