Side Effect
JavaScript 🟢 JuniorDefinition
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.