Questão nº 41

Questão de Análise de Sistemas · FGV TJDFT 2022 (nº 41)

FGV2022Analista Judiciário - Análise de SistemasAnálise de Sistemas
Gabarito: Cver comentário ↓

No contexto do JavaScript, analise as afirmativas a seguir a respeito do comportamento do JS de mover declarações para o top (em inglês, Hoisting).

I. Variáveis declaradas por meio de var podem ser utilizadas antes de declaradas.
II. Variáveis declaradas com let e const são movidas para o topo do bloco somente quando inicializadas na declaração.
III. Usar uma constante (const) antes de declarada gera um erro de sintaxe.

Está correto o que se afirma em:

Resposta comentada

Gabarito Alternativa C

Hoisting é o comportamento do JavaScript de “içar” (mover) as declarações de variáveis e funções para o topo do seu escopo durante a compilação, antes da execução do código. Isso significa que a declaração existe desde o início, mas o valor (inicialização) só é atribuído no ponto original do código.

  • (A) Incorreta: A afirmativa I está correta, pois variáveis com var são içadas e inicializadas com undefined, permitindo uso antes da declaração (sem erro, mas com valor indefinido). Porém, a alternativa A diz “somente I”, ignorando que a III também está correta.
  • (B) Incorreta: A afirmativa II é falsa: let e const são içadas para o topo do bloco, mas não são inicializadas (ficam na “zona morta temporal”), então usá-las antes da declaração gera erro de referência, independentemente de inicialização na declaração.
  • (C) Correta: O gabarito oficial é esta. A afirmativa I está correta (var é içada e inicializada com undefined). A afirmativa III está correta: usar const antes da declaração gera erro de referência (não de sintaxe, mas a banca considera “erro” de forma genérica; o importante é que não é permitido). A II está incorreta, pois let/const são içadas, mas ficam na “zona morta temporal” até a linha da declaração.
  • (D) Incorreta: A afirmativa II é falsa (como explicado), então qualquer alternativa que a inclua está errada.
  • (E) Incorreta: A afirmativa II é falsa, então não podem ser todas verdadeiras.

Armadilha da banca: O distrator mais tentador é a letra B (“somente I e II”), porque muitos alunos lembram que let e const têm hoisting, mas esquecem que elas não são inicializadas no topo — ficam na “zona morta temporal”. A banca explora essa confusão: a II diz “somente quando inicializadas na declaração”, o que é falso, pois o hoisting de let/const ocorre sempre, mas o uso antes da declaração sempre gera erro, mesmo se houver inicialização na própria declaração.

Fonte: FGV TJDFT 2022 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho