Fix uma proposta no jsfiddle (https://jsfiddle.net/leonardocregis/24c9mnjs/) que repliquei
class Pessoa{
constructor (nome){
this.nome = nome;
}
shout(){
console.log('shout called');
return this.nome;
}
}
var p = new Pessoa('teste');
var proxy = new Proxy(p.shout.bind(p), {
apply: function(target, thisArg, argumentsList) {
console.log('target:'+target);
console.log('this.'+target.nome);
return target();
}
});
console.log(proxy());
ao construir o proxy para o método, usei da funcao bind para referenciar a classe ..... o que faz com que possamos chamar o método de dentro o próprio proxy. A minha questão é o quanto essa prática é válida como alternativa à proposta no treinamento, se não é válida porque .