Proxy's optional target

Andrea Giammarchi andrea.giammarchi at gmail.com
Mon Jan 14 21:51:09 PST 2013


uhm, you might be slightly behind current specs ... these changed proxy
quite a lot so that first argument is the target, and second argument is
the behavior.

var myProxy = new Proxy(target, handler);

at least that's how Firefox implemented it right now :D

var
  target = {test:123},
  proxy = new Proxy(target, {
    get: function ($target, key) {
      alert($target === target); // true
      return $target[key];
    }
  })
;
alert(proxy.test); // 123


On Mon, Jan 14, 2013 at 9:32 PM, Dmitry Soshnikov <
dmitry.soshnikov at gmail.com> wrote:

> Hello,
>
> Don't know whether it was mentioned/asked before (sorry if so), but just a
> note: probably it makes more sense making the target argument as optional
> and the second one in the Proxy constructor's API.
>
> Proxy(handler[, target]):
>
> 1. If target is undefined, let the target be new Object();
> ...
>
> In this case we'll cover (probably the most used) use-case of
> direct-proxies:
>
> var p = new Proxy({
>   get: function(target, name, value) {
>     ...
>   }
> });
>
> Thanks,
> Dmitry
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130114/6f438329/attachment-0001.html>


More information about the es-discuss mailing list