Apenas uma correção, creio eu, no item "comentário do instrutor".
Na parte:
Veja que usamos set no handler passado para o proxy. Além disso, muito cuidado que quando usamos set, a função deve receber quatro parâmetros e não três, como no caso do get.
Poderíamos conseguir o mesmo resultado desta forma:
`
let funcionario = {email: 'abc@abc.com'};
let funcionarioProxy = new Proxy(funcionario, {
set(target, prop, value, receiver) {
console.log(`Valor antigo ${target[prop]}, valor atual: ${value}`);
target[prop] = value;
}
});
funcionarioProxy.email = 'aaa@aaa.com';
`
Ficou faltando o return
em target[prop] = value;
. Deveria ser:
return target[prop] = value;
No mais, excelente didática!