Proxy

JavaScript 🔴 Senior

Definition

Objet qui encapsule un autre objet et intercepte les operations fondamentales (get, set, has, delete, etc.) via des traps. Base de la reactivite dans Vue 3 et des ORMs modernes.

Analogie

Un secretaire personnel qui intercepte tous tes appels et courriers, et peut les modifier avant de te les transmettre.

Exemple de code

const handler = {
  get(target, key) {
    console.log(`Reading ${key}`);
    return target[key];
  },
  set(target, key, value) {
    console.log(`Setting ${key}=${value}`);
    target[key] = value;
    return true;
  }
};
const proxy = new Proxy({}, handler);

Cas d'usage

Systemes reactifs (Vue 3), validation automatique, logging transparent, mocking en tests.

Anti-pattern

Abuser des Proxy en hot path : l'overhead d'interception degrade les performances.

Termes lies

#core#ES6#avance#pattern