Questão nº 33
Questão de Conhecimentos Específicos · FCC TRF4 2025 (nº 33)
Considere o bloco de código JavaScript abaixo, em condições ideais.
const papel = "juiz";
const fase = "julgamento";
let mensagem;
if (papel === "juiz" && fase === "julgamento") {
mensagem = "Você pode emitir a sentença.";
} else if (papel === "advogado" && fase === "instrução") {
mensagem = "Você pode apresentar suas alegações finais.";
} else if (papel === "servidor" && fase === "análise") {
mensagem = "Organize os autos para análise inicial.";
} else {
mensagem = "Aguardando ação.";
}
document.write("Mensagem:", mensagem);
Para manter o resultado após a execução, a parte da estrutura de seleção (if/else if/else) pode ser corretamente substituída pelo uso de operadores ternários, da seguinte forma:
- A
mensagem = (papel == "juiz" && fase == "julgamento") : "Você pode emitir a sentença." ? (papel == "advogado" && fase == "instrução") : "Você pode apresentar suas alegações finais." ? (papel == "servidor" && fase == "análise") : "Organize os autos para análise inicial." ? "Aguardando ação."; - B```
mensagem = (papel.equals("juiz") && fase.equals("julgamento"))
? "Você pode emitir a sentença."
: (papel.equals("advogado") && fase.equals("instrução"))
? "Você pode apresentar suas alegações finais."
: (papel.equals("servidor") && fase.equals("análise"))
? "Organize os autos para análise inicial."
: "Aguardando ação.";
``` - C
$mensagem = ($papel === "juiz" && $fase === "julgamento") ? "Você pode emitir a sentença." : (($papel === "advogado" && $fase === "instrução") ? "Você pode apresentar suas alegações finais." : (($papel === "servidor" && $fase === "análise") ? "Organize os autos para análise inicial." : "Aguardando ação.")); - D
mensagem = ("Você pode emitir a sentença." if papel == "juiz" and fase == "julgamento" else "Você pode apresentar suas alegações finais." if papel == "advogado" and fase == "instrução" else "Organize os autos para análise inicial." if papel == "servidor" and fase == "análise" else "Aguardando ação." ); - E
(alternativa correta)mensagem = papel === "juiz" && fase === "julgamento" ? "Você pode emitir a sentença." : papel === "advogado" && fase === "instrução" ? "Você pode apresentar suas alegações finais." : papel === "servidor" && fase === "análise" ? "Organize os autos para análise inicial." : "Aguardando ação.";
Resposta comentada
Gabarito Alternativa E
O operador ternário (? :) é uma forma concisa de escrever uma condição if/else em JavaScript. Ele avalia uma condição; se for verdadeira, retorna o primeiro valor (após o ?), e se for falsa, retorna o segundo valor (após o :). Para simular um if/else if/else com múltiplas condições, podemos aninhá-los, onde a parte "falsa" de um ternário se torna outro ternário.
- (A) Incorreta: A sintaxe do operador ternário está fundamentalmente incorreta. O
?deve vir após a condição e antes da expressão "se verdadeiro", e o:antes da expressão "se falso". A forma como?e:estão dispostos aqui não segue a gramática do JavaScript, misturando os operadores de forma errada. - (B) Incorreta: O JavaScript usa
===(igualdade estrita) ou==(igualdade solta) para comparar valores. O método.equals()não existe para comparação de strings ou outros tipos primitivos em JavaScript; ele é comum em linguagens como Java. - (C) Incorreta: O uso do prefixo
$nas variáveis ($papel,$fase,$mensagem) é uma convenção de outras linguagens (como PHP) e não é a forma padrão de declarar ou usar variáveis em JavaScript. - (D) Incorreta: A sintaxe
valor if condição else valoré característica da linguagem Python e não é válida em JavaScript. - (E) Correta: Esta alternativa demonstra o uso correto do operador ternário aninhado em JavaScript. Cada condição é seguida por
?(para o resultado se verdadeira) e:(para a próxima condição ou o resultado final se falsa), replicando a lógica de umif/else if/elsede forma compacta.
Fonte: FCC TRF4 2025 Analista Judiciário - Área Apoio Especializado - Especialidade Análise de Sistemas de Informação (Caderno Tipo 001). Reproduzida para fins de estudo.