Saltar al contenido principal

Funciones puras

Las funciones puras son aquellas que no tienen efectos secundarios y, dado los mismos argumentos, siempre devuelven el mismo resultado. Este tipo de funciones es esencial en la programación funcional, ya que facilita la previsibilidad y el testeo.

Inmutabilidad

Una función pura no debe modificar sus argumentos ni variables externas. La inmutabilidad es clave para asegurar que no haya efectos secundarios en el código.

const duplicar = (arr) => arr.map((n) => n * 2);

const numeros = [1, 2, 3];
console.log(duplicar(numeros)); // [2, 4, 6]
console.log(numeros); // [1, 2, 3] (la función no modificó el array original)

Composición de funciones

La composición de funciones es el proceso de combinar funciones puras para crear nuevas funciones más complejas. Esto permite crear código modular y reutilizable.

const sumar = (a) => a + 2;
const multiplicar = (b) => b * 3;

const operar = (x) => multiplicar(sumar(x));

console.log(operar(2)); // 12 (primero suma 2, luego multiplica por 3)

En resumen, entender las diferentes formas de declarar funciones, trabajar con parámetros y argumentos, y gestionar el scope y el hoisting es fundamental para escribir código eficiente y limpio en JavaScript. Las funciones puras y los conceptos de inmutabilidad y composición permiten estructurar mejor nuestro código, haciéndolo más predecible y fácil de mantener.