Featured image of post API Proxy y Reflect de JavaScript: Patrones de metaprogramaciónFeatured image of post API Proxy y Reflect de JavaScript: Patrones de metaprogramación

API Proxy y Reflect de JavaScript: Patrones de metaprogramación

Explore JavaScript Proxy and Reflect API for metaprogramming. Learn 13 traps, Reflect methods, validation, virtual properties, and real-world patterns in Vue 3 and MobX.

Proxy y Reflect permiten interceptar y personalizar operaciones fundamentales en objetos: acceso a propiedades, asignación, enumeración, invocación de funciones y llamadas a constructores.

Los 13 traps de Proxy

Desde get/set (lectura/escritura) hasta apply/construct (llamadas de función/constructor). Cada trap debe cumplir invariantes.

API Reflect

Los métodos de Reflect reflejan cada trap de Proxy. Usar Reflect dentro de traps asegura propagación correcta del argumento receiver.

Validación e integridad

El trap set puede imponer restricciones de esquema. Proxy de solo lectura bloquea todos los traps de mutación.

Propiedades virtuales

Proxy puede exponer propiedades que no existen en el objeto target, calculándolas dinámicamente en el trap get.

Observación de propiedades

Técnica base de Vue 3 reactive(). Proxy reemplazó Object.defineProperty de Vue 2. MobX 6+ e Immer.js también usan Proxy.

Proxies revocables

Proxy.revocable crea un proxy que puede deshabilitarse permanentemente. Útil para acceso temporal a recursos sensibles.