Promesas I: ¿Qué es un cierre?

Los cierres son funciones que recuerdan sus entornos léxicos. Los entornos léxicos son el entorno en el que se declaró la función.

function parent(x) {
  return function closure() {    // El cierre se declara aquí.
    return x
  }
}

const remember = parent("remembers me")
// Parece que la variable x desaparecería después de que
// se ejecutara parent, pero no es así.

closure()
// Devuelve "remembers me" porque la función interna
// recuerda x.
  • Corrige la función greetingMaker() para que funcione con la función greeting().
  • La función greeting() ya fue creada (revisa la pestaña Pruebas).

Ejemplo

const greeting = greetingMaker("Hello")
greeting("James") ➞ "Hello, James"

Notas

Revisa la pestaña Recursos para obtener más información sobre los cierres.