Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Proxy | Reflect.get

Não funcionou. Na atividade ele quer que quando digitarmos: console.log(funcionario.email); Que saia no console: **abc@abc.com**

Porém na resposta da atividade o código de saída ta escrito: console.log(funcionarioProxy.email) e não console.log(funcionario.email)

E quando tento imprimir "funcionario.email" não sai com os asteriscos. Meu código está assim:

let funcionario = {email: 'abc@abc.com'};

    let funcionarioProxy = new Proxy(funcionario, {
        get(target, prop, receiver){
            console.log('Armadilha aqui!');
            return '**' + Reflect.get(target, prop, receiver) + '**';
        }
    })
    console.log(funcionario.email);
1 resposta
solução!

Como você esta criando um Proxy, só faz sentido você acessar a propriedade do proxy para que o acesso seja interceptado.

Na resposta do instrutor eu separei em dois passos para ajudar o aluno com maior dificuldade para entender. Mas em seu caso, isso não ajudou muito. atrapalhou.

Então, para agradar mais de um perfil de aluno, completei a resposta do instrutor com esse texto:

Informação extra na resposta do instrutor

Agora, podemos evitar a declaração da variável funcionarioProxy desta forma:

funcionario = new Proxy({email: 'abc@abc.com'},  {

    get(target, prop, receiver) {
        console.log('Armadilha aqui!');
        return '**' + Reflect.get(target, prop, receiver) + '**' ;        
    }

});
console.log(funcionario.email);

Assim fica mais claro? Sucesso e bom estudo meu aluno.

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