Object id, hash, etc?

Garrett Smith dhtmlkitchen at gmail.com
Tue Sep 8 16:08:52 UTC 2015

On 9/8/15, Michael McGlothlin <mike.mcglothlin at gmail.com> wrote:
> Is there a reason not to provide an object id and hash value as other
> languages often do? I find myself defining an identity symbol on objects
> with a value from a simple global counter. It makes it easier to debug if I
> can just look at a log and see what objects and functions were active.
> Likewise a hash value would simplify a lot of comparisons and make it easier
> to debug.
> I especially find the ID useful when working with bound functions as they
> can be difficult to tell apart. I like to change toString() to provide the
> ID followed by the code (flattened to one line).

NFE's are safe to use where IE8 support isn't needed*.
(function aa(){}).name; // "aa"

As for using Object IDs and Object Pooling, lexically-scoped values
have benefits over global ID generators (as your counter). The values
can be passed in as a parameter to the Factory (useful with Private
Proxy). There other benefits to this pattern regarding memory
management and application design. Contact me if you'd like to learn

* https://kangax.github.io/nfe/

More information about the es-discuss mailing list