Analista Judiciário - Tecnologia de Informação – Análise de Sistemas
No contexto da linguagem JavaScript, analise as afirmativas sobre variáveis declaradas como const.
I. Devem ter seus valores atribuídos na declaração.
II. Podem ter seus valores alterados depois de declaradas.
III. Têm sempre escopo global.
Está correto o que se afirma em:
Asomente II e III;
Bsomente I;
Csomente II;
Dsomente III;
EI, II e III.
Revelar gabarito e comentário▾
GabaritoB — somente I;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Variáveis const em JavaScript
Gabarito: letra B (somente I). Apenas a afirmativa I está correta: variáveis declaradas com const devem ser inicializadas na declaração e não podem ser reatribuídas. As afirmativas II e III são falsas, pois const tem escopo de bloco e seu valor (referência) não pode ser alterado.
Característica
const
let
var
Exige atribuição na declaração
Sim
Não
Não
Permite reatribuição
Não
Sim
Sim
const (JavaScript): Declaração (Exige valor na declaração, Reatribuição proibida); Escopo (Sempre global, Bloco (como let)); Mutabilidade (Referência imutável, Conteúdo de objeto mutável)
Item I — ✅ Correto
Variáveis const exigem atribuição de valor no momento da declaração. Declarar const x; gera erro de sintaxe. Isso está de acordo com a especificação ECMAScript.
Item II — ❌ Incorreto
Após declarada, uma variável const não pode ter seu valor reatribuído. Embora propriedades de objetos ou elementos de arrays possam ser modificados, a afirmação generaliza "valores alterados" como reatribuição, o que é proibido.
Item III — ❌ Incorreto
const possui escopo de bloco (assim como let), não global. Se declarada dentro de um bloco {}, não é acessível fora dele. Apenas se declarada no escopo global é que se torna global, mas não é "sempre" global.
PEGA ESSA DICA!
Decore as diferenças entre var, let e const: var tem escopo de função e permite reatribuição; let tem escopo de bloco e permite reatribuição; const tem escopo de bloco e não permite reatribuição (mas objetos mutáveis podem ter seu conteúdo alterado).