Questão nº 59
Questão de Tecnologia da Informação · FCC TRT-1 2025 (nº 59)
Considere o código JavaScript a seguir:
let tipoCaso = "criminal";
let acesso;
if (tipoCaso === "criminal") {
acesso = "Audiência aberta ao público.";
} else if (tipoCaso === "familiar") {
acesso = "Audiência sigilosa.";
} else {
acesso = "Acesso analisado caso a caso.";
}
console.log(acesso);
Substituindo o bloco de comparação if, else if, else pela utilização de operador ternário, teremos, para manter o mesmo sentido e resultado:
- A
acesso = tipoCaso == "criminal" -> "Audiência aberta ao público." ? tipoCaso == "familiar" -> "Audiência sigilosa." ? "Acesso analisado caso a caso."; - B
(alternativa correta)acesso = tipoCaso === "criminal" ? "Audiência aberta ao público." : tipoCaso === "familiar" ? "Audiência sigilosa." : "Acesso analisado caso a caso."; - C
acesso = tipoCaso == "criminal" >> "Audiência aberta ao público." : tipoCaso == "familiar" >> "Audiência sigilosa." : "Acesso analisado caso a caso."; - D
acesso = tipoCaso === "criminal" ? "Audiência aberta ao público." | tipoCaso === "familiar" ? "Audiência sigilosa." | "Acesso analisado caso a caso."; - E
acesso = tipoCaso == "criminal" : "Audiência aberta ao público." ? tipoCaso == "familiar" : "Audiência sigilosa." ? "Acesso analisado caso a caso.";
Resposta comentada
Gabarito Alternativa B
O operador ternário (ou condicional) é uma forma compacta de escrever uma instrução if/else em JavaScript, que avalia uma condição e retorna um valor se a condição for verdadeira e outro valor se for falsa. Sua sintaxe é condição ? valorSeVerdadeiro : valorSeFalso. Para múltiplas condições (como if/else if/else), aninhamos operadores ternários, onde o valorSeFalso de um ternário é outro ternário.
- (A) Incorreta: A sintaxe
->não é um operador válido em JavaScript para essa finalidade. Além disso, a repetição do?sem o operador:(que indica a parte "else" do ternário) está incorreta. - (B) Correta: Esta alternativa utiliza a sintaxe correta para aninhar operadores ternários. A primeira condição (
tipoCaso === "criminal") é avaliada. Se verdadeira, retorna "Audiência aberta ao público.". Se falsa, o que vem após o primeiro:é avaliado, que é outro operador ternário (tipoCaso === "familiar" ? "Audiência sigilosa." : "Acesso analisado caso a caso."). Isso replica perfeitamente a lógica doif/else if/elseoriginal. - (C) Incorreta: O operador
>>é um operador bitwise de deslocamento à direita e não tem função condicional. A sintaxe está incorreta. - (D) Incorreta: O operador
|é um operador bitwise OR e não serve para separar as partes de um operador ternário. A sintaxe está incorreta. - (E) Incorreta: A sintaxe começa com
:após a primeira condição, o que é incorreto. O operador?deve seguir a condição. Além disso, a estrutura geral de aninhamento está sintaticamente errada, usando?em lugares indevidos. A armadilha aqui é a tentativa de misturar:e?de forma confusa, sem seguir a estruturacondição ? valor_verdadeiro : valor_falso.
Fonte: FCC TRT-1 2025 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 004). Reproduzida para fins de estudo.