Función pura
Una función que siempre devuelve el mismo output para el mismo input y no tiene efectos secundarios (no modifica estado externo).
Una función pura cumple dos condiciones:
- Determinista: mismo input → mismo output siempre
- Sin efectos secundarios: no modifica variables externas, no hace I/O, no muta argumentos
// ✅ Pura
function sumar(a: number, b: number): number { return a + b; }
// ❌ Impura: depende de estado externo
let total = 0;
function addToTotal(n: number) { total += n; return total; }
// ❌ Impura: efecto secundario (I/O)
function logAndReturn(value: any) { console.log(value); return value; }
Las funciones puras son fáciles de testear, memoizar y ejecutar en paralelo.