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.