[ingresar]

Que es una Clausura?

  1. Que es una Clausura (Closure)?
  2. Variables y Valores
  3. Definiendo Funciones
  4. Efectos Secundarios
  5. Las Funciones son Valores
  6. Retornando Funciones
  7. Alcance de Función
  8. Funciones Anidadas
  9. Clausuras con Estado
  10. Datos Privados
  11. Callbacks Asincrónicos
  12. Pasando Continuación

Clausuras con Estado

Algo útil que las clausuras pueden hacer es guardar el estado interno. Recuerda que una clausura es creada cuando una función interna referencia a una variable de la función externa. Hasta ahora solo estuvimos leyendo los valores, pero podemos escribirlos también.

Este es un ejemplo de una función que crea un contador.

Donde es guardado el estado? Está en la variable cuenta en el alcance externo. Por qué hay dos copias? Cada invocación de crearContador crea un nuevo alcance de cuenta, y la clausura circundante a la función interna f captura ese alcance.

Definir una función llamada hacerAcumulador que no recibe argumentos. Debería crear y retornar una función que reciba un argumento y retorne el total de todos los argumentos que se han visto. Ej: si f es una función retornada por hacerAcumulador, la primera vez que se llama f(3) debería retornar 3, si se llama luego a f(2) debería retornar 5.

1:1

about noticias inicio