Immutability

JavaScript 🟡 Mid

Definition

Principe de ne jamais modifier les donnees existantes mais de creer de nouvelles copies avec les changements. Object.freeze() pour une immutabilite superficielle en JS natif.

Analogie

Un livre publie : pour corriger une erreur, tu publies une nouvelle edition au lieu de rayer l'ancienne.

Exemple de code

// Immutable update
const user = { name: 'Alice', age: 30 };
const updated = { ...user, age: 31 };
// Array
const arr = [1, 2, 3];
const added = [...arr, 4];
// Freeze
const frozen = Object.freeze({ x: 1 });

Cas d'usage

State management (Redux, React state), historique undo/redo, detection de changements performante.

Anti-pattern

Croire que Object.freeze est profond : les objets imbriques restent mutables.
#core#fonctionnel#principe