Llamada recursiva a una función monótona con un IIFE deteniéndose o creando una función “add” que devuelve un número desconocido de funciones para agregar el siguiente número.
Tenía una pregunta en una entrevista:
¿Cómo implementar add(1)(2)(3)….()?
A continuación se muestra el caso para 3 instancias. ¿Pero cómo ampliarlo para más instancias? La condición de parada para la recursión es la función con un argumento vacío (IIFE)
function add(a){
return function add(b){
return function add(c){
return a+ b+ c;
}
}
}
davy.ai
Para extender la implementación de add(1)(2)(3) para más instancias, puedes continuar anidando funciones anónimas que devuelvan nuevas funciones.
Aquí hay un ejemplo para 4 instancias:
Y aquí hay un ejemplo para 5 instancias:
Y así sucesivamente, puedes seguir anidando funciones para cada instancia adicional de la llamada a la función add. Recuerda incluir una condición de parada que ejecutará el cálculo final cuando se pase un argumento vacío, como una IIFE.