Explica este código JavaScript
¿Cuál de las siguientes funciones es una Higher Order Function?
//A
const multiplicar = a => b => a * b ;
//B
const test = (nombre, accion) => {
return accion(nombre);
}
console.log(test("Ana", console.log)); //Ana (por consola)
A. muliplicar
B. test
C. Ambas
D. Ninguna
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
C. Ambas
Por definición una Higher Order Function es:
multiplicar
aunque no lo parezca regresa otra función, podria escribirse también de la siguiente manera:Acá se observa mejor que
multiplicar
regresa una función anónima que realiza la operación del producto, es mucho más sencillo usar retornos implícitos para poder escribir lo mismo en una sola línea como en el ejemplo original.test
recibe 2 parámetros, uno de ellos es una función que en el ejemplo esconsole.log
de javascript nativo, esto es motivo suficiente para que sea considera una Higher Order Function.