Closure é um conceito que tem relação com a técnica de currying e três cadeias de escopo: seu próprio escopo; escopo externo, com acesso às variáveis da função exterior; e escopo com acesso às variáveis globais. Assinale a alternativa correta acerca do que são closures.

Questão

Closure é um conceito que tem relação com a técnica de currying e três cadeias de escopo: seu próprio escopo; escopo externo, com acesso às variáveis da função exterior; e escopo com acesso às variáveis globais. Assinale a alternativa correta acerca do que são closures.

Alternativas

a) São uma função que tem acesso às variáveis do escopo-pai.

97%

b) São uma variável que possibilita retornar variáveis globais.

c) São um recurso exclusivo de linguagens funcionais.

d) São um recurso que necessita de suporte a currying para funcionar.

e) São uma técnica de aplicação de função parcial.

Explicação

Uma closure ocorre quando uma função é criada dentro de outra (ou em um contexto onde existem variáveis “de fora”) e mantém acesso a essas variáveis do escopo externo, mesmo depois que a função externa já terminou sua execução.

  • Isso corresponde exatamente à ideia de “cadeias de escopo”: a função enxerga (1) seu próprio escopo, (2) o escopo externo onde foi definida (escopo-pai), e (3) o escopo global.
  • Currying e aplicação parcial são técnicas relacionadas a funções, mas não definem closure e nem são pré-requisitos para que closures existam.
  • Closures não são exclusivas de linguagens funcionais (existem, por exemplo, em JavaScript, Python, etc.).

Portanto, a alternativa correta é a que define closure como uma função com acesso às variáveis do escopo-pai.

Alternativa correta: (a).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.