Sobes.tech
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.