Reflect.hasOwn

Maël Nison nison.mael at gmail.com
Wed Sep 28 23:54:40 UTC 2016


JSON.parse() and object literals are big sources of objects-as-maps. In
both of these cases, using the `in` operator won't give the right answer.

Le mar. 6 sept. 2016 à 22:11, Domenic Denicola <d at domenic.me> a écrit :

> Reflect is a namespace that contains the proxy traps (it’s a bit of an
> unfortunate name), so we shouldn’t be adding things to it that are not part
> of the meta-object protocol.
>
> A new namespace, or using Object, might be OK. I think that it will still
> be controversial, since this proposal is in support of an objects-as-maps
> programming style which has caused many problems in the past and should not
> be encouraged. See e.g.
> http://www.2ality.com/2012/11/proto-breaks-webapps.html.
>
> If you are using objects-as-maps safely, you’d use Object.create(null), in
> which case the `in` operator works fine and there's no need for
> hasOwnProperty incantations.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20160928/e4a6b0f3/attachment.html>


More information about the es-discuss mailing list