Não há como você entender como closures funcionam sem compreender como o JavaScript lida com escopos.
Se você não viu esse conteúdo, o link está nos últimos tweets =)
🔹 Em JavaScript, toda função é uma closure;
No exemplo acima, essa factory function é utilizada para criar duas novas funções: uma que adiciona 10 ao seu argumento, e outra que adiciona 100.
🔸 No ambiente léxico de `add10`, o valor de `num1` é 10;
🔸 No ambiente léxico de `add100`, o valor de `num1` é 100;
Muito do código Front-end que você escreve é baseado em eventos.
Você especifica um comportamento e esse comportamento é disparado através de uma ação do usuário.
Vamos codar alguns botões que ajustam o tamanho do texto de uma página.
O objetivo do nosso script é fazer os botões modificarem o font-size do `<body>`.
Vamos declarar uma função `makeSizer`, que recebe um parâmetro `size` e retorna uma nova função (uma closure).
👉Retweeta👈 essa thread!
Para facilitar, linkei ela ali em baixo =)
Te vejo na próxima 🔥
🔗Higher Order Functions:
🔗Introdução à Closures - Parte 1:
🔗Introdução à Programação Funcional:
🔗Introdução à Programação Funcional - Parte 02: