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?