Sobes.tech
Junior — Middle

¿Puedes explicar qué es la clase Reflect en JavaScript y para qué se utiliza?

sobes.tech AI

Respuesta de la IA

La pregunta se refiere a JavaScript, pero el módulo indicado es Golang — responderé en JavaScript.

Reflect es un objeto incorporado en JavaScript que proporciona métodos para interceptar y gestionar operaciones con objetos, como obtener y establecer propiedades, llamar funciones, crear objetos, etc. Funciona como un conjunto de utilidades para la metaprogramación.

El objetivo principal de Reflect es ofrecer funcionalidades similares a los métodos internos de los objetos, pero en forma de funciones normales, lo que simplifica el trabajo con proxies y operaciones dinámicas.

Ejemplo de uso:

const obj = {a: 1};

// Obtener propiedad
console.log(Reflect.get(obj, 'a')); // 1

// Establecer propiedad
Reflect.set(obj, 'b', 2);
console.log(obj.b); // 2

// Comprobar existencia de propiedad
console.log(Reflect.has(obj, 'a')); // true

// Llamar función
function sum(x, y) { return x + y; }
console.log(Reflect.apply(sum, null, [1, 2])); // 3

De esta manera, Reflect ayuda a gestionar los objetos y su comportamiento de manera más explícita y segura.