Według definicji [[Call]] internal method of Proxy objects powinno działać:
Jednak istnieje pewien problem: nie wszystkie obiekty proxy mają [[połączeń]] Metoda:
Proxy egzotyczne wynikowego posiada [[CALL]] Metoda wewnętrzne, jeżeli początkowa wartość jego [[ProxyTarget]] internal slot jest obiektem , który ma wewnętrzną metodę [[Call]].
Dlatego, to target musi być obiektem funkcji:
var target =() => {},
handler = { apply:() => 42 }
proxy = new Proxy(target, handler);
proxy(); // 42
Należy zauważyć, że określone target
wykorzystaniem funkcji strzałką w celu wytworzenia przedmiotu funkcja, która nie jest konstruktor. W ten sposób można wywoływać obiekt Proxy, ale nie tworzyć instancji.
Jeśli chcesz dodać pułapkę "konstruuj", cel musi mieć również metodę [[Construct]], więc zdefiniuj ją za pomocą deklaracji funkcji lub wyrażenia funkcji.
być może związane: [Tworzenie obiektu (nie) wymienialne] (http://stackoverflow.com/q/29680473/1048572) – Bergi