Side Effect

JavaScript 🟢 Junior

Definition

Toute modification d'etat observable en dehors de la fonction : mutation de variable globale, ecriture DOM, appel reseau, console.log, modification d'arguments. L'oppose d'une pure function.

Analogie

Laisser des miettes sur la table en mangeant : tu as fait ton action (manger) mais tu as aussi change l'environnement.

Exemple de code

// Side effects
let total = 0;
function addToTotal(n) {
  total += n;        // mutation globale
  console.log(total); // I/O
  document.title = n; // DOM
}

Cas d'usage

Necessaires en pratique (I/O, DOM, API), mais a isoler et controler dans des couches dediees.

#core#fonctionnel#principe