DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Updated on

Paracetamol.js馃拪| #80: Explica este c贸digo JavaScript

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)
Enter fullscreen mode Exit fullscreen mode

A. muliplicar
B. test
C. Ambas
D. Ninguna

Respuesta en el primer comentario.


Discussion (1)

Collapse
duxtech profile image
Cristian Fernando Author

Respuesta:
C. Ambas

Por definici贸n una Higher Order Function es:

  • Una funci贸n que regresa otra funci贸n.
  • Una funci贸n que puede tener funciones en sus par谩metros.

multiplicar aunque no lo parezca regresa otra funci贸n, podria escribirse tambi茅n de la siguiente manera:

function multiplicar(a){
  return function(b){
    return a * b;
  }
}
Enter fullscreen mode Exit fullscreen mode

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 es console.log de javascript nativo, esto es motivo suficiente para que sea considera una Higher Order Function.