Tagged Union / Discriminated Union

JavaScript 🟡 Mid

Définition

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 étiquette de couleur : bleu = fragile, rouge = urgent. L'étiquette déterminé 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

← → au clavier pour passer d'une fiche à l'autre