WeakMap API questions?

David Herman dherman at mozilla.com
Thu Sep 2 09:24:29 PDT 2010


This is what the private names proposal is for. The page is a little stale but Sam Tobin-Hochstadt is hoping to give it some love in the not-too-distant future.

    http://wiki.ecmascript.org/doku.php?id=strawman:names

The names go in the object, the link is strong rather than weak, the property is non-enumerable, and even better than string keys, you can't guess the name (either on purpose or by accident) unless you have a reference to the name object. So it's a more reliable version of what you described, but still straightforward to use.

Dave

On Sep 2, 2010, at 9:19 AM, Mike Shaver wrote:

> On Thu, Sep 2, 2010 at 12:46 AM, Erik Corry <erik.corry at gmail.com> wrote:
>> And this is as it should be.  As it stands the weak map can be used as
>> an object with private members.  The object key acts as a capability
>> that controls whether or not you have access to the private member.
> 
> If I were to be using an object with private members, I would
> certainly expect that those members would keep their values alive.
> 
> Wouldn't it be better to just use a regular object, and add private
> members via defineProperty to make them non-enumerable?
> 
> I'm not in favour of WeakMap enumerability, really, but it seems that
> there's an easier way to address this particular use case.
> 
> Mike
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss



More information about the es-discuss mailing list