Programación Funcional en JavaScript

  1. Programación Funcional en JavaScript

La programación funcional es un paradigma de programación que se enfoca en la evaluación de funciones matemáticas, evitando cambios de estado y mutaciones de datos. En JavaScript, la programación funcional se puede lograr utilizando funciones de orden superior, funciones de flecha, métodos de array funcionales, programación reactiva y composición de funciones.

7.1 Funciones de orden superior

Las funciones de orden superior son funciones que toman una o más funciones como argumentos, o devuelven una función como resultado. Las funciones de orden superior permiten crear código más modular y reutilizable.

Ejemplo:

function ejecutar(fn, valor) {
  return fn(valor);
}

function duplicar(valor) {
  return valor * 2;
}

function triplicar(valor) {
  return valor * 3;
}

console.log(ejecutar(duplicar, 5)); // 10
console.log(ejecutar(triplicar, 5)); // 15

7.2 Funciones de flecha

Las funciones de flecha son una sintaxis abreviada para definir funciones en JavaScript. Las funciones de flecha no tienen su propio contexto «this», por lo que heredan el contexto «this» del contexto en el que fueron definidas.

Ejemplo:

const duplicar = valor => valor * 2;

const sumar = (a, b) => a + b;

const saludar = () => console.log("Hola!");

7.3 Métodos de array funcionales

Los métodos de array funcionales son métodos que permiten operar sobre arrays de forma funcional, sin mutar el array original. Algunos de los métodos de array funcionales más comunes son «map», «filter» y «reduce».

Ejemplo:

const numeros = [1, 2, 3, 4, 5];

const duplicados = numeros.map(numero => numero * 2);
console.log(duplicados); // [2, 4, 6, 8, 10]

const pares = numeros.filter(numero => numero % 2 === 0);
console.log(pares); // [2, 4]

const suma = numeros.reduce((acumulador, numero) => acumulador + numero, 0);
console.log(suma); // 15

7.4 Programación reactiva

La programación reactiva es un paradigma de programación que se enfoca en la propagación de cambios a través de un sistema reactivo. En JavaScript, la programación reactiva se puede lograr utilizando librerías como RxJS.

Te recomendamos leer:  Frameworks y Bibliotecas

Ejemplo:

const { Observable } = rxjs;

const clicks$ = Observable.fromEvent(document, "click");

clicks$.subscribe(event => console.log(event));

7.5 Composición de funciones

La composición de funciones es la práctica de combinar funciones para crear funciones más complejas. La composición de funciones permite crear código más modular y reutilizable.

Ejemplo:

const duplicar = valor => valor * 2;
const sumarUno = valor => valor + 1;

const duplicarYSumarUno = valor => duplicar(sumarUno(valor));

console.log(duplicarYSumarUno(5)); // 12

7.6 Ejemplos y casos de uso

Algunos ejemplos y casos de uso de la programación funcional en JavaScript incluyen:

  • Crear una función que tome un array de números y devuelva un nuevo array con los números duplicados.
  • Crear una función que tome un array de objetos y devuelva un nuevo array con los objetos filtrados por una propiedad específica.
  • Crear una función que tome dos funciones como argumentos y devuelva una nueva función que ejecute ambas funciones en secuencia.
  • Crear una interfaz de usuario reactiva que responda a eventos del usuario utilizando programación reactiva.
  • Crear un sistema de cálculo de precios que utilice composición de funciones para aplicar descuentos y cargos adicionales.
Rate this post

Deja un comentario

Web Devs