Nicolas Martinez
Es interesante que esta lectura sea continua a la otra ya que si se utilizan HOF con closure functions se pueden hacer cosas..."divertidas".
Las Higher-Order Functions son una característica fundamental de la programación funcional en JavaScript. Como lo vimos en clases anteriores estás funciones puras que pueden tomar otras funciones como argumentos y/o devolver funciones como resultados. Esto permite crear funciones más genéricas y reutilizables que pueden ser combinadas de diferentes maneras para crear funciones más complejas.
Una de las características principales de las Higher-Order Functions es su capacidad para manipular otras funciones de manera genérica. Por ejemplo, una función "map" es una Higher-Order Function que toma una función y un array como argumentos, y devuelve un nuevo array con los resultados de aplicar la función a cada elemento del array original.
const numbers = [1, 2, 3, 4, 5]; const doubledNumbers = numbers.map(function(number) { return number * 2; }); console.log(doubledNumbers); // Output: [2, 4, 6, 8, 10] console.log(numbers) // Output: [1, 2, 3, 4, 5] // El array original sigue intacto
Otra característica importante de las Higher-Order Functions es su capacidad para crear funciones más pequeñas y reutilizables. Por ejemplo, una función "filter" es una Higher-Order Function que toma una función y un array como argumentos, y devuelve un nuevo array con los elementos que cumplen con una determinada condición.
const numbers = [1, 2, 3, 4, 5]; const evenNumbers = numbers.filter(function(number) { return number % 2 === 0; }); console.log(evenNumbers); // Output: [2,4]
Todo esto y más lo puedes aprender en el Curso de Closures y Scope en JavaScript
27/89 Higher order functions Son funciones que pueden tomar otras funciones como argumentos y/o devolver funciones como resultados, lo que permite crear funciones más genéricas y reutilizables. Además, estas funciones tienen la capacidad de manipular otras funciones de manera genérica y crear funciones más pequeñas y reutilizables.
const numbers = [1, 2, 3, 4, 5]; const doubledNumbers = numbers.map(function(number) { return number * 2; }); console.log(doubledNumbers); // Output: [2, 4, 6, 8, 10] console.log(numbers) // Output: [1, 2, 3, 4, 5] // El array original sigue intacto
En el primer ejemplo, se utiliza la función “map” como una higher-order function para aplicar una función de multiplicación a cada elemento de un array con los resultados.
const numbers = [1, 2, 3, 4, 5]; const evenNumbers = numbers.filter(function(number) { return number % 2 === 0; }); console.log(evenNumbers); // Output: [2,4]
En el segundo ejemplo, se utiliza la función filter como una Higher-Order function para filtrar los elementos de un array de números que cumplen con una determinada condición y devolver un nuevo array con los elementos filtrados.
Nicolas Martinez
Es interesante que esta lectura sea continua a la otra ya que si se utilizan HOF con closure functions se pueden hacer cosas..."divertidas".