Cada programa que escribimos sigue un enfoque o estilo de escritura también conocido como paradigma. La programación funcional es un paradigma de programación declarativa (paradigma de programación donde escribimos código de tal manera que describe el resultado y no el enfoque).
Para entender la programación funcional, tomemos un ejemplo de funciones matemáticas habituales:
y = f(x)
esta función no modifica la entrada pasada. Por lo tanto, es una función pura
y'=g(f(x))
aquí tenemos dos funciones ‘g’ y ‘f’, tomamos el resultado de la función ‘f’ y lo usamos en la función ‘g’, este concepto se llama composición funcional. Fomenta la reutilización y mantenibilidad del código.
De manera similar, en un código funcional, la salida depende solo de los argumentos que se pasan a la función.
Ejemplo:
Javascript
const a = [6, 1, 9]; function push(a, element) { return [...a, element]; } console.log("Original array: ", a); console.log("Updated array: ", push(a, 10));
Producción:
Original array: [6,1,9] Updated array: [6,1,9,10]
Aquí, hemos creado una función para insertar elementos en una array, la función de inserción es una función pura ya que no cambia la array global y solo proporciona el resultado en función de los argumentos de entrada.
Principios básicos de la programación funcional:
- Datos inmutables: una variable inmutable es aquella que no se puede modificar después de la inicialización o podemos decir que a una variable se le puede asignar un valor solo una vez. Los beneficios de evitar la mutación de datos son que hace que el código sea más fácil de leer y más fácil de probar y depurar.
- Funciones puras: como se discutió anteriormente, una función que siempre devuelve el mismo valor para los mismos argumentos se llama función pura. Un buen ejemplo para lidiar con la impureza en las funciones sería Redux, maneja todos los efectos secundarios que afectan a la tienda principal y la lógica compuesta de funciones puras. Los beneficios de las funciones puras son:
- fácil de probar
- fácil de depurar
- conduce a funciones de responsabilidad única más pequeñas
- Estilo declarativo ( utilizando composición funcional ): se centra en el resultado y no en el planteamiento de la función. Las funciones compuestas hacen que el código sea mucho más escalable ya que tenemos una clara separación de preocupaciones
Publicación traducida automáticamente
Artículo escrito por swapnil074 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA