Pure Function
JavaScript 🟢 JuniorDefinition
Fonction qui retourne toujours le meme resultat pour les memes arguments et ne produit aucun effet de bord. Deterministe et sans mutation d'etat externe.
Analogie
Une calculatrice : 2+3 donne toujours 5, peu importe quand ou ou tu fais le calcul.
Exemple de code
// Pure
const add = (a, b) => a + b;
const upper = (s) => s.toUpperCase();
// Impure
let count = 0;
const increment = () => ++count; // mutation externe
Cas d'usage
Reducers Redux, fonctions de transformation, tests unitaires faciles, memoization possible.