Tagged Union / Discriminated Union

JavaScript 🟡 Mid

Definition

Pattern ou un champ commun (type, kind) distingue les variantes d'un objet. Permet un pattern matching exhaustif et du code type-safe. Fondamental en TypeScript.

Analogie

Des colis avec une etiquette de couleur : bleu = fragile, rouge = urgent. L'etiquette determine le traitement.

Exemple de code

function handle(action) {
  switch (action.type) {
    case 'add': return state + action.value;
    case 'reset': return 0;
    default: throw new Error(`Unknown: ${action.type}`);
  }
}
handle({ type: 'add', value: 5 });

Cas d'usage

Reducers Redux, state machines, gestion d'evenements, API responses.

#core#pattern#architecture