well, Proxy can be a diabolic beast

```js
Object.setPrototypeOf(
  Object.prototype,
  new Proxy(Object.prototype, evilPlan)
)
```

having no way to understand if an object is a Proxy looks like a footgun to
me in the long term, for libraries, and "code alchemists"

You indeed wrote that different Array methods need to know if there's a
Proxy in there ... if dev cannot know the same via code they are unable
again to subclass properly or replicate native behaviors behind magic
internal checks.

If there is a way and I'm missing it, then it's OK

Regards








On Thu, Nov 13, 2014 at 7:15 AM, Tom Van Cutsem <tomvc...@gmail.com> wrote:

> 2014-11-12 23:49 GMT+01:00 Andrea Giammarchi <andrea.giammar...@gmail.com>
> :
>
>> If Array.isArray should fail for non "pure" Arrays, can we have a
>> Proxy.isProxy that never fails with proxies ?
>>
>
> We ruled out `Proxy.isProxy` very early on in the design. It's
> antithetical to the desire of keeping proxies transparent. In general, we
> want to discourage type checks like you just wrote.
>
> If you're getting handed an object you don't trust and need very strong
> guarantees on its behavior, you'll need to make a copy. This is true
> regardless of proxies. In your example, even if the array is genuine, there
> may be some pointer alias to the array that can change the array at a later
> time.
>
> Regards,
> Tom
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to