En un cierre con variables internas, si devuelvo la variable en sí, puedo cambiar su valor directamente. Pero si agrego un captador al cierre, no genera el nuevo valor establecido. Pero si uso un setter, el getter genera el valor correcto. Cuando 'cambio' el valor de la variable devuelta, ¿qué estoy cambiando exactamente?
function money(){ let usd=10; const getRate = () => usd; const setRate = (rate) => usd = rate; return {usd, getRate, setRate} } let m1 = money(); m1.usd = 20; console.log(m1.getRate()) // Returns 10 console.log(m1.usd) // Returns 20 m1.setRate(30); console.log(m1.getRate()) // Returns 30