Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Dúvidas sobre Object.defineProperty(target, key, { get: getter });

Alguém poderia me explicar melhor a função e o funcionamento dessa parte do código?

Object.defineProperty(target, key, {
            get: getter
        });
3 respostas

Fala ai Arthur, tudo bem? A função defineProperty vai criar uma nova propriedade para algum objeto.

A mesma possui a seguinte sintaxe:

Object.defineProperty(obj, prop, descriptor)

Onde:

  • obj: O objeto no qual será definida a propriedade.
  • prop: O nome da propriedade que será definida ou modificada.
  • descriptor: O descritor para a propriedade que será definida ou modificada.

No seu caso:

Object.defineProperty(target, key, {
            get: getter
        });

O que ela está fazendo é criando uma nova propriedade cujo valor está dentro do key, para o objeto que está referenciado pelo target e sobrescrevendo o método get dela (key).

Espero ter ajudado.

solução

Opa muito obrigado!

Magina Arthur, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.

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