The complaint here is that it's impermeable when it would be preferred not
to be. I personally have never yet needed a proxy where nothing else would
suffice, so I pretty much have no stake in this discussion.

On Thu, Nov 10, 2016, 11:34 Claude Pache <claude.pa...@gmail.com> wrote:

> Le 10 nov. 2016 à 15:50, Isiah Meadows <isiahmead...@gmail.com> a écrit :
>
> This could be resolved by checking the underlying non-proxy object and
> using that one's internal slots instead, in each language-level method that
> checks that.
>
>
> Such semantics could make impossible to write impermeable proxies for some
> objects, e.g.
>
> ```js
> let s = new Set
> let sProxy = new Proxy(s, { /* .... */ })
> Set.prototype.add.call(sProxy, "foo") // will add "foo" to `s`, even if
> you were careful enough to intercept `sProxy.add("foo")`
> Set.prototype.has.call(sProxy, "bar") // will reveal whether "bar" is in
> `s`
> ```
>
> —Claude
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to