La programación funcional es un enfoque de programación que se centra en el uso de funciones y evita el uso de estado y efectos secundarios. En JavaScript, la programación funcional se basa en el uso de funciones puras, es decir, funciones que no tienen efectos secundarios y siempre devuelven el mismo resultado dado el mismo input.
Una de las características principales de la programación funcional es el uso de first-class functions (funciones como primer ciudadano), es decir, se consideran como valores y pueden ser asignados a variables, pasados como argumentos a otras funciones y retornadas como resultado de otras funciones. Esto permite crear funciones más pequeñas y reutilizables que se pueden combinar para crear funciones más complejas.
Por ejemplo, podemos crear una función "add" que toma dos números como argumentos y devuelve su suma:
functionadd(a, b){return a + b;}
Luego, podemos asignar esta función a una variable y pasarla como argumento a otra función, como "makeOperation":
De esta forma, la función "makeOperation" se vuelve más genérica y reutilizable, ya que puede recibir cualquier función que tenga la misma estructura de argumentos.
Otra característica importante de la programación funcional es el uso de funciones puras. Esto significa que las funciones no tienen efectos secundarios y siempre devuelven el mismo resultado dado el mismo input. Esto hace que el código sea más fácil de probar y depurar, ya que no hay efectos secundarios ocultos que puedan afectar el comportamiento del código.
Por ejemplo, la función map() es una función pura ya que toma un array de números como input y devuelve un nuevo array con los números transformados, sin modificar el array original.
En resumen, la programación funcional es un enfoque de programación que se centra en el uso de funciones y evita el uso de estado y efectos secundarios. En javascript, se puede utilizar programación funcional mediante el uso de funciones como map, reduce, filter, arrow functions y librerías de programación funcional pura, lo cual permite crear código más fácil de probar y depurar.
Programación funcional: ++Estilo de programación++, donde se usan ++funciones que no alteran al objeto++ en el que se está trabajando (por ejemplo map, que se ejecuta sobre un array, pero no lo modifica, sino que devuelve uno nuevo).
Se utilizan first-class-functions. Son funciones que se las pueden almacenar en variables, y pasar como argumentos a otras funciones. Ejemplo de la clase:
"add es la first-class-function"functionadd(a, b){return a + b;}const operation = add;"Se la envía como argumento a makeOperation"functionmakeOperation(operation, num1, num2){returnoperation(num1, num2);}console.log(makeOperation(operation,2,3));// Output: 5
Aquí algunos datos sobre programación funcional en JavaScript
.
Te recomiendo visitar este video para más información
.
La programación funcional es un paradigma de programación que trata las funciones como bloques de construcción fundamentales para la solución de problemas. En JavaScript, esto se logra a través del uso de funciones de orden superior, funciones puras y expresiones lambda.
.
Las funciones de orden superior son aquellas que aceptan otras funciones como argumentos y / o devuelven funciones como resultado. Esto permite una mayor modularidad y reutilización del código.
.
Las funciones puras son aquellas que no tienen efectos secundarios y devuelven el mismo resultado para los mismos argumentos. Esto las hace más fáciles de razonar y depurar, y también las hace más adecuadas para el procesamiento de datos inmutables.
.
Las expresiones lambda son funciones anónimas que se pueden pasar como argumentos a otras funciones o asignarse a variables. Esto permite una mayor flexibilidad y expresividad en el código.
.
La programación funcional se centra en la composición de funciones para resolver problemas complejos, en lugar de usar estructuras de control de flujo imperativas como bucles y condicionales. Esto fomenta una programación más declarativa y explícita, lo que facilita la comprensión y el mantenimiento del código.
Se repite mucho la palabra estado, solo para aclarar esto hace referencia a que las variables que pueda tener la función, en este caso no debería tener sino funcionar con sus parámetros
24/80 Programación funcional
Es un enfoque de programación que se basa en el uso de funciones y evgita el uso de estados y efectos secundarios. En JavaScript, esto se logra utilizando funciones puras, que son aquellas que no tienen efectos secundarios y siempre devuelven el mismo resultado dado el mismo input.
Una de las características clave de la programación funcional es el uso de first-class functions, que son funciones que se consideran como valores y pueden ser asignados a variables, pasados como argumentos a otras funciones y retornados como resultado de otras funciones. Esto permite crear funciones más pequeñas y reutilizables que se pueden combinar para crear funciones más complejas.
Otra característica importante de la programación funcional es el uso de funciones puras, que no tienen efectos secundarios y siempre devuelven el mismo resutaldo dado el mismo input. La funcion “map” es un ejemplo de una función pura que toma un array de números como input y devuelve un nuevo array con los números transformados, sin modificar el array original
Además funciones como map, reduce y filter, también se pueden utilizar arrow functions y librerías de programación funcional pura en JavaScript para aplicar el enfoque de programación funcional. El uso de este enfoque permite crear código más fácil de probar y depurar, ya que no hay efectos secundarios ocultos que puedan afectar el comportamiento del código.
En la programación funcional, los cambios que se realizan se denominan mutaciones y los resultados se denominan efectos secundarios.
¿Actualmente que enfoque se usa más, el de POO o el funcional?
Realmente ambos paradigmas. No es como que uno sea mejor que el otro simplemente a veces es más conveniente usar el paradigma funcional y aveces es más conveniente usar POO. Tu rol como JS dev es saber cual y porque es mejor opción en el momento determinado.
// Hola, soy principiante, observo que en la funcion map() debes retornar number para que lo ejecute sin errores, espero estar en lo cierto, ya que la variable numero no esta declarada.
Hola buen dia, no necesariamente. Map() es una funcion de los arrays crea un array nuevo de la misma logitud teniendo en cuenta la condicion de la funcion que se la pasa como parametro, tambien puede devolver strings, objetos ...
Con respecto al ejemplo de la lectura creo que hay un error y no era numero, sino, number que representa cada iteracion del array numbers
De acuerdo con Andrés. Hay un error. En lugar de retornar 'numero', debería ser 'number'.
Como está en la lectura, la función retornará undefined.
La forma correcta sería:
const doubles = numbers.map(function(number){return number *2;})