Junior — Middle
Pode explicar o que é a classe Reflect em JavaScript e para que ela é usada?
sobes.tech IA
Resposta da IA
A questão refere-se ao JavaScript, mas o módulo indicado é Golang — responderei em JavaScript.
Reflect é um objeto incorporado no JavaScript que fornece métodos para interceptar e gerir operações com objetos, como obter e definir propriedades, chamar funções, criar objetos, etc. Serve como um conjunto de utilitários para metaprogramação.
O objetivo principal do Reflect é fornecer funcionalidades semelhantes aos métodos internos dos objetos, mas na forma de funções normais, o que simplifica o trabalho com proxies e operações dinâmicas.
Exemplo de uso:
const obj = {a: 1};
// Obter propriedade
console.log(Reflect.get(obj, 'a')); // 1
// Definir propriedade
Reflect.set(obj, 'b', 2);
console.log(obj.b); // 2
// Verificar existência de propriedade
console.log(Reflect.has(obj, 'a')); // true
// Chamar função
function sum(x, y) { return x + y; }
console.log(Reflect.apply(sum, null, [1, 2])); // 3
Assim, Reflect ajuda a gerir objetos e seu comportamento de forma mais explícita e segura.