WeakMap API questions?
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.
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.
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.
> es-discuss mailing list
> es-discuss at mozilla.org
More information about the es-discuss