Tengo una función recursiva que me gustaría ocultar como detalle de implementación. Aquí están las dos funciones que tengo que comenzar:
function f(n) { return fIter(2,1,0,n); } function fIter(a,b,c,n) { return n===0 ? c : fIter(a+2*b+3*c, a,b,n-1); } console.log(f(5))¿Cuál sería la forma sugerida de ocultar los detalles de implementación? Dos ejemplos que me vinieron a la mente fueron:
const f = n => (function fIterative(a, b, c, n) { return (n===0) ? c : fIterative(a+2*b+3*c, a, b, n-1) })(2,1,0,n); console.log(f(5))Y:
function f(n) { function fIter(a,b,c,n) { return n===0 ? c : fIter(a+2*b+3*c, a,b,n-1); } return fIter(2,1,0,n); } console.log(f(5))