Conhecimentos Específicos: Tecnologia da Informação (TI) - CONSULPAM 2025 - Analista de TI (Tecnologia da Informação)
Considere o seguinte trecho de código em JavaScript (ES6+) construído por um desenvolvedor:

Diante do exposto, assinale a alternativa CORRETA.
O código imprime "ativo", pois a variável valor é declarada dentro do bloco if com let, e como flag é true, essa é a única atribuição executada.
O código imprime "inativo", pois a declaração com var é movida para o topo da função, e como flag é true, a variável permanece com valor undefined, sendo posteriormente atribuída como "inativo".
O código lança um erro de referência (ReferenceError), pois a variável valor declarada com let está em escopo de bloco e não é acessível fora do if, enquanto a declaração com var não é executada quando flag é true.
O código lança um erro de tipo (TypeError), pois a linguagem não permite múltiplas declarações de variáveis com nomes iguais em blocos distintos, mesmo que com let e var.
Crie uma conta grátis para ver o gabarito comentado
10 questões gratuitas por diaResponder Questão e Ver Comentários →