O que TODO desenvolvedor JavaScript precisa saber
Matheus Lima
1K28

Bom post, Matheus. Muito bem escrito. Mas tenho algumas considerações sobre sua definição de closure:

Há uma confusão comum aí, entre anonymous functions, lexical scope e closures.

Seu primeiro exemplo não é nada mais que uma anonymous function, uma IIFE mais especificamente, mas não possui as características necessárias para ser definida como closure.

Uma forma simples de explicar o que é uma closure, é tratando-a como uma stateful function ou uma função que mantém ou “lembra” do estado onde ela foi criada (escopo), até mesmo se for retornada para um escopo acima.

Um dos melhores posts que já vi sobre closures é o do mestre Eric Eliott que você colocou nos sources da sua pesquisa, mas você não especifica a principal característica de uma closure, que é o que descrevi acima. Eu tiraria seu primeiro exemplo sobre closure por não se tratar de uma closure e poder causar confusão aos iniciantes.

No mais, continue assim. Há poucos conteúdos bons em português, e você está fazendo um bom trabalho mudando isso.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.