Questão de TI - Desenvolvimento de Sistemas — Javascript — Quadrix 2024
TI - Desenvolvimento de Sistemas›Javascript
Código
qa631424
Banca
Quadrix
Órgão
CFP
Ano
2024
Cargo
Ana Tec ( )
No que concerne à Lei Geral de Proteção de Dados (LGPD), à linguagem de programação Qlik e aos conceitos de desenvolvimento Web com Javascript e JSON, julgue os itens seguintes.
O código JavaScript a seguir, após ser executado, mostrará o código CRP de um psicólogo a partir do nome informado pelo usuário.
const nome = prompt(“Digite o nome do psicólogo:”); const crp = psicologos[nome];
if (crp) {alert console.log(O código CRP de ${nome} é: ${crp});} else {
alert(“Psicólógo não encontrado.”);
}
}
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
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”.
JavaScript: acesso a propriedades de objeto e sintaxe de template literal
Gabarito: ERRADO (letra E). O código contém múltiplos erros de sintaxe que impedem sua execução: as chaves do objeto psicologos foram declaradas com aspas tipográficas curvas (“ ”) em vez de aspas retas (" "), e a linha do if mistura alert com console.log sem separador válido, além de usar crases invertidas no template literal — tudo isso gera erro de sintaxe, fazendo o código não executar conforme descrito.
O enunciado pede para julgar se o código JavaScript, após ser executado, mostrará o CRP do psicólogo a partir do nome informado. Para que isso aconteça, o código precisa ser sintaticamente válido e logicamente correto. Vamos analisar o que está errado.
Primeiro, o objeto psicologos é declarado com chaves usando aspas tipográficas curvas (“João Silva”), que não são reconhecidas pelo JavaScript como delimitadores de string. O correto seria usar aspas retas ("João Silva") ou apóstrofos ('João Silva'). Esse erro sozinho já quebra a execução do script.
Segundo, dentro do if, a linha alert console.log(O código CRP de ${nome} é: ${crp}); mistura dois comandos (alert e console.log) sem nenhum separador válido (como ponto e vírgula), e o texto do template literal está entre crases invertidas (` `) — que são o delimitador correto de template literal — mas a linha inteira está mal formada. O correto seria algo como alert(O código CRP de ${nome} é: ${crp}); ou console.log(O código CRP de ${nome} é: ${crp});`.
Além disso, há um erro de digitação no else: alert(“Psicólógo não encontrado.”) usa aspas curvas novamente e tem acento indevido em "Psicólógo". Embora o acento não quebre a execução (é só texto), as aspas curvas sim.
Mesmo que corrigíssemos as aspas, a lógica de acesso psicologos[nome] está correta: se o usuário digitar exatamente "João Silva", retornará "CRP 12345‑DF". Mas como o código tem erros de sintaxe, ele não executa, e portanto a afirmação de que "mostrará o código CRP" é falsa.
A banca explora aqui a diferença entre sintaxe válida e lógica correta: o candidato pode olhar para a lógica (que está certa) e ignorar os erros de sintaxe que impedem a execução. É uma pegadinha clássica de questões de programação.
Item — ❌ ERRADO
O código, como apresentado, não executa devido a erros de sintaxe:
Aspas tipográficas curvas (“ ”) nas chaves do objeto e no alert do else — o JavaScript exige aspas retas (" ") ou apóstrofos (' ').
Linha do if mal formada: alert console.log(...) mistura dois comandos sem separador; o correto seria alert(...) ou console.log(...).
Template literal com crases invertidas (` `) — embora seja o delimitador correto, a linha inteira está quebrada pela mistura com alert`.
Mesmo que a lógica de busca psicologos[nome] esteja correta, o código não roda, então a afirmação de que "mostrará o código CRP" é falsa.
NÃO CAIA NESSA!
A banca apresenta um código com lógica aparentemente correta, mas com erros de sintaxe que impedem a execução. O candidato desatento foca na lógica (que está certa) e esquece de verificar se o código é válido. Sempre leia o código linha por linha, verificando aspas, parênteses e chaves.