Questão nº 33
Questão de Desenvolvimento de Sistemas · FCC TRT15 2023 (nº 33)
Em uma aplicação que utiliza TypeScript um Analista deseja limitar os tipos de processos legais à Criminal, Cível e Trabalhista. Para isso, criou valores enumerados utilizando o bloco de código abaixo.
```typescript
enum TipoProcesso {
Criminal = "Criminal",
Civel = "Civel",
Trabalhista = "Trabalhista",
}
```
Para que a constante `tipo` armazene o valor "Trabalhista" da enumeração `TipoProcesso`, deve-se utilizar o comando
- A`const tipo = TipoProcesso("Trabalhista");`
- B`const tipo: TipoProcesso = TipoProcesso.Trabalhista;` (alternativa correta)
- C`const tipo:= TipoProcesso.Trabalhista;`
- D`const tipo = TipoProcesso[Trabalhista];`
- E`const tipo: TipoProcesso = TipoProcesso(Trabalhista);`
Resposta comentada
Gabarito Alternativa B
Enums (enumerações) no TypeScript são como listas de opções fixas e nomeadas, que tornam seu código mais claro e seguro. Para pegar um valor específico dessa lista, você usa o nome da enumeração seguido de um ponto e o nome da opção desejada.
- (A) Incorreta: Enums não são funções que você chama passando uma string.
TipoProcesso("Trabalhista")tentaria chamarTipoProcessocomo uma função, o que não é permitido. - (B) Correta: Esta é a forma padrão e correta de acessar um membro de um
enumem TypeScript.TipoProcesso.Trabalhistausa a notação de ponto para referenciar o membroTrabalhistadentro da enumeraçãoTipoProcesso. A anotação: TipoProcessoé opcional, mas boa prática para clareza. - (C) Incorreta: O operador
:=não é um operador de atribuição válido em TypeScript. O correto é apenas=. - (D) Incorreta: A notação
TipoProcesso[Trabalhista]está incorreta. Para usar colchetes, você precisaria de uma string literal (ex:TipoProcesso["Trabalhista"]) se quisesse buscar o valor pelo nome da chave, mas mesmo assim, a forma mais comum e direta para atribuir o membroTrabalhistaé com a notação de ponto. A armadilha aqui é queTrabalhistasozinho seria interpretado como uma variável, não como a string"Trabalhista". - (E) Incorreta: Similar à alternativa A, enums não são funções.
TipoProcesso(Trabalhista)tenta chamarTipoProcessocomo uma função, eTrabalhistasozinho não é uma string literal, mas sim o próprio membro da enumeração.
Fonte: FCC TRT15 2023 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 002). Reproduzida para fins de estudo.