Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Proxy de métodos - uma abordagem

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 .

3 respostas
solução!

Bind é mais usado quando você quer mudar o contexto de invocação de um método ou função.

No caso seu proxy só lida com um método. No exemplo do curso preciso lidar com mais de um e por isso faço proxy do objeto.

Em termos de performace, qual o impacto de um proxy genérico VS um específico ??

Tem alguma técnica legal para avaliar o impacto dessas mudanças ? além de pegar o tempo do sistema. no inicio e no fim ?

Desconheço. Aliás, é assim que outras ferramentas fazem.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software