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

Resposta certa

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

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.

Mais questões deCâmbio e exterior
Carregando…

Questões relacionadas

Ver últimas questões