[Resuelto] -Duda, nombre de la función interna

Avatar

function sumar(x) { return function ??????? (y) { return x+y } }

¿ Por qué no se definió un nombre de la función?

1respuestas
FrontendJavascriptProgramación
Avatar

Revisa el siguiente ejemplo, para tratar de orientarte

let saludo = function(nombre){
   return function(correo){
     return nombre + correo
   }
}

A este tema se le llama currying es decir...

  1. Si observas la función la asocié a una variable llamada saludo esto solo con fines de invocarla después
  2. Posterior tengo una primer función anónima que recibe un solo argumento llamado nombre
  3. A su vez esa misma función recibe por dentro la ejecución de otra función anónima que tiene otro argumento
  4. Si observas la segunda función anónima es la que ejecuta la concatenación de los 2 argumentos antes dados y los va a retornar

INVOCACIÓN DEL CÓDIGO

Ahora para ejecutarlo hacemos lo siguiente

console.log(saludo("beta")("mail@mail.com"))

¿Qué fué lo que hice?

Mando llamar por el nombre de la variable saludopero como esta misma recibe 2 funciones anónimas y estas a su vez reciben cada una un argumento, entonces la sintaxis fué asívariableNombre(argumento1)(argumento2)` como puedes notar cada argumento se pasó en una pareja de paréntesis por separado ; puesto que estos a su vez hacen referencia a las dos funciones anónimas que fueron declaradas.

Las funciones devuelven sus valores, por que internamente hacen uso de return para devolver la información que fué procesada por dentro de ellas

Espero sea de utilidad

Recuerda iniciar sesión para participar en la comunidad.