Por que eu deveria saber sobre Closures?
- #PHP
- #Node.js
- #JavaScript
Qual o conceito de closure ?
Basicamente, são funções anônimas (ou seja, sem nome) que geralmente são armazenadas em uma variável para serem reutilizadas como parâmetro em outra função. Elas são muito usadas em callbacks, por exemplo.
Não devemos confundir funções como addEventListener
, do javascript, com uma Closure, mas podemos utilizar uma Closure dentro dela:
Para que servem as Closures?
Elas permitem que as variáveis dentro do seu escopo sejam modificadas apenas dentro da própria função, sem poderem ser alteradas por funções externas que não as utilizem. Isso evita modificações indevidas e reduz o risco de bugs no código.
Quais as vantagens?
- Encapsulamento: Protege variáveis, evitando acesso externo.
- Estado: Funções "lembram" de valores entre chamadas.
- Especialização: Cria funções adaptadas para tarefas específicas.
- Eficiência: Armazena resultados para evitar recálculos.
- Modularidade: Cria código reutilizável e adaptável.
- Assincronia: Ajuda em operações que demoram, como chamadas de API.
Utilizamos muito no Laravel, crienado closures em rotas, middlewares, consultas com eloquent e entre outros.
Redes Sociais
🔗 GitHub: github.com/GiulianoCriscuoli
🔗 LinkedIn: Giuliano Criscuoli
🔗 Instagram: @southlaser