Así que me encontré con algunos ejemplos de cierre y me gustaría saber cómo funciona esto. Lo resolví por error y después de unas horas de intentarlo. pero todavía estoy tratando de entender cómo se pasan los valores. Entiendo que una vez que creo una variable local (función), el valor asociado con ella realmente no cambia, por lo que puedo seguir haciendo referencia a ese valor inicial. Mi pregunta es cómo, cuando devuelvo la función interna, puedo transferir los valores en logArea a la función de devolución de llamada. alguien puede explicar como paso a paso?
const wrapLog = function(callback, name) { let func = callback; return function(...param) { return func(...param); } }; const area = function(x, y) { return x * y; }; const logArea = wrapLog(area, "area"); console.log(logArea(5, 3)); // area(5, 3) => 15 console.log(logArea(3, 2)); // area(3, 2) => 6 const volume = function(x, y, z) { return x * y * z; }; const logVolume = wrapLog(volume, "volume"); console.log(logVolume(5, 3, 2)); // volume(5, 3, 2) => 30 console.log(logVolume(3, 2, 4)); // volume(3, 2, 4) => 24