Alguém poderia me explicar melhor a função e o funcionamento dessa parte do código?
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
});
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.
Opa muito obrigado!
Magina Arthur, sempre que precisar não deixe de criar suas dúvidas.
Abraços e bons estudos.