Closure
tl; dr; Las closures son funciones que tienen acceso a las variables definidas en el scope que las contiene.
😕 … ah, bueno, pa’saber.
Se crean al definir una función dentro del cuerpo de otra, utilizando variables de la función contenedora.
const afuera = (a) => {
let valorExterno = a
return adentro = (b) => valorExterno + b
}
Si regresamos una función anónima podemos lograr algo como lo siguiente:
const sumar = (a) => {
return (b) => a + b
}
const sumar = a => b => a + b
sumar(4)(2) => 6