Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024
- Código
- ce190866
- Banca
- CESPE / CEBRASPE
- Órgão
- TST
- Ano
- 2024
- Nível
- Médio
- Cargo
- Técnico Judiciário - Área: Apoio Especializado - Especialidade: Programação
- A0
- B8
- C10
- D12
- E22
GabaritoC — 10
Gabarito: Letra C – 10. A variável x global é declarada com let e inicializada em 10. Os blocos { ... } criam escopos de bloco independentes; dentro de cada um, uma nova variável x local é declarada com let, e as operações alteram apenas essas variáveis locais, sem afetar a global. Ao final, o x global permanece 10, que é exibido na página.
Afirma que o resultado é 0. Esse valor seria o de x no primeiro bloco após x = x - 1 (1 - 1 = 0), mas é uma variável local, não a global.
Afirma que o resultado é 8. Esse é o valor de x no segundo bloco (3 + 5 = 8), porém também local.
A variável global x nunca foi alterada dentro dos blocos, pois cada bloco declarou sua própria variável x com let. Portanto, x global continua 10.
Afirma que o resultado é 12. Esse é o valor de x no terceiro bloco (20 + 2 = 22, não 12? Na verdade, 20+2=22, então 12 não corresponde a nenhum bloco. Pode ser um distrator.
Afirma que o resultado é 22. Esse é o valor de x no terceiro bloco (20+2=22), mas local.
A banca explora a confusão entre escopo de bloco e escopo de função. Em JavaScript, let cria escopo de bloco, então cada par de chaves { } isola a variável declarada dentro. O candidato pode acreditar que as operações nos blocos alteram a variável global, mas isso não acontece. Para acertar, lembre-se: let dentro de um bloco é uma variável independente.
Gabarito: Letra C – 10.
Link permanente: /questoes/ce190866