
javier partida valle
Pregunta<code> const moneyBox = () => { var saveCoins = 0; const countCoins = (coins) => { saveCoins += coins; console.log(`MoneyBox: $${saveCoins}`); } return countCoins; } </code>
Hay una cosa que no entiendo, ¿Cómo la función countCoins recibe el parámetro coins si no está en la función moneyBox?

Ederson Felipe Lopez Bolivar
Este video te puede ayudar:
Nelson Gonzalez Escalante
Adicional a las explicaciones brindadas por hec_lopz, es importante tomar en cuenta que al momento de invocar la segunda funcion de nombre countCoins en la tercera linea del codigo no se le esta agregando los parentesis (), esto quiere decir que estamos pasando el objeto completo dentro del return de la funcion lo cual permite recibir el parametro coins.
NOTA: Una caracteristica de JavaScript es que las funciones de ++alto orden++ son consideradas como Objetos.

Héctor Eduardo López Carballo
Hola!
No porque
moneyBox
moneyBox
saveCoins
countCoins
moneyBox
const funcion = moneyBox()
funcion
countCoins

javier partida valle
Imagino que será algo propio del lenguaje, en el caso de que añada coins como argumento en moneyBox, ¿Funcionaría igualmente?

Héctor Eduardo López Carballo
Hola!
Eso es porque la fución
moneyBox
countCoins
caja()
countCoins