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

get() ou get: function() ?

Tentei fazer os exercícios pesquisando na documentação ao invés de colar da aula, estava consultando este link: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Proxy

Onde é informado a seguinte sintaxe:

    get: function(target, name) {
        return name in target ?
            target[name] :
            37;
    }

Fiz dessa maneira e funcionou, porém ao ver a resposta do instrutor de que o console,log era impresso duas vezes fiquei confuso pois o meu disparou somente uma vez, como eu esperava.

Comparando ambos os códigos vi essa diferença, o instrutor usou get() e eu tinha usado get: function()

O Código que eu fiz inclusive funcionou com o get e o set(que foi a minha interpretação do exercício, que era pra disparar o console.log tanto ao obter a propriedade quanto ao mudar o valor.

let funcionario = new Proxy(new Funcionario('everton@gmail.com'), {
get: function(target, prop, receiver){
    console.log("armadilha aqui");
    return Reflect.get(target,prop);
},
set: function(target, prop, value, receiver){
    console.log("armadilha aqui");
    return Reflect.set(target,prop,value);

}
})

Alguêm sabe informar a diferença por favor?

2 respostas
solução!

É simplesmente uma maneira simplificada de escrever (funcionam da mesma maneira):

objectName.methodname = functionName;

var myObj = {
  myMethod: function(params) {
    // ...do something
  }

  // OR THIS WORKS TOO

  myOtherMethod(params) {
    // ...do something else
  }
};

fonte: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

Obrigado :)

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