Acabo de empezar a aprender sobre la función. y esto es lo que me da dificultad.
const Func = () => { return () => { console.log('hello'); }; }; const innerFunc = Func(); innerFunc(); // 1. Func(); //2.
No entiendo por qué 'hola' no aparece en la consola al intentar con 2.
¿No son los nombres de función innerFunc y Func?
No sé la diferencia entre ellos.
Perdón por mi mal ingles.
Func()
devuelve una función que no se ejecutará hasta que ejecute el resultado con ()
como lo está haciendo con 1.
.
Haciendo const innerFunc = Func();
, está asignando la función devuelta de Func
a innerFunc
. Entonces, para llamarlo, debe ejecutarlo así: innerFunc()
.
Su función 'Func' devuelve otra función desde adentro, por lo que cuando llama a Func(), devolverá otra función que nombró como 'innerFunc' y llamar a innerFunc devolverá el resultado como hola.
Cuando intente con Just 'Func()', simplemente devolverá otra función que devolvió dentro de Func.
Comenzando a aprender acerca de las funciones, solo mire
const Func = () => { console.log('hello'); }; Func(); // logs hello to the console
Lo que tiene aquí es una función dentro de la función, que es más complicada y no necesariamente apta para principiantes.