Pular para o conteúdo principal

Questão de TI - Desenvolvimento de Sistemas — Geral — VUNESP 2026

TI - Desenvolvimento de SistemasGeral
Código
vu169381
Banca
VUNESP
Órgão
FAPESP
Ano
2026
Cargo
Ana Sist ( )

enum collors {

Red,

Green,

Blue

};

 

let collor = collors.Green;

console.log(collor);

A seguir é apresentado um trecho de código escrito em TypeScript:     É correto afirmar que o valor impresso no console por esse trecho de código é:
  1. Acollors.Green
  2. Bcollors
  3. CGreen
  4. D3
  5. E1
Revelar gabarito e comentário

GabaritoE — 1

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”.

Enums em TypeScript: valores numéricos automáticos

Gabarito: letra E. Em TypeScript, um enum numérico atribui automaticamente valores inteiros sequenciais a partir de 0 para cada membro, salvo se um valor explícito for fornecido. Como Red é o primeiro membro, recebe 0; Green recebe 1; Blue recebe 2. Ao imprimir collors.Green, o console exibe o número 1. A pegadinha está em confundir o nome do membro com seu valor subjacente.

O enum é um recurso do TypeScript que permite definir um conjunto de constantes nomeadas. Quando você declara um enum numérico sem atribuir valores, o compilador atribui automaticamente números inteiros começando em 0, incrementando de 1 em 1 para cada membro subsequente. Isso é uma característica fundamental dos enums numéricos, herdada de linguagens como C# e Java.

No trecho apresentado, temos:

enum collors {
    Red,
    Green,
    Blue
}

let collor = collors.Green;
console.log(collor);

Aqui, Red recebe 0, Green recebe 1 e Blue recebe 2. A variável collor recebe o membro Green, que equivale ao valor numérico 1. O console.log imprime exatamente esse valor: 1.

É importante distinguir entre o nome do membro (Green) e o valor associado (1). Quando você usa collors.Green em uma expressão, o TypeScript substitui pelo valor numérico correspondente. Por isso, o console exibe 1, não a string "Green".

A banca explora justamente essa confusão: o candidato pode achar que o console imprime o nome do membro ou o nome do enum, mas na verdade imprime o valor numérico. Essa é uma pegadinha clássica em questões de TypeScript/JavaScript.

Guarde a regra: em enums numéricos sem inicialização explícita, o primeiro membro vale 0, o segundo vale 1, e assim por diante. É exatamente esse critério que separa as alternativas corretas das incorretas.

  1. 1Red = 0
  2. 2Green = 1
  3. 3Blue = 2
  4. 4collors.Green → 1
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Imprimiria collors.Green se o console.log recebesse uma string literal, mas aqui recebe a expressão collors.Green, que é avaliada para o valor numérico 1. A alternativa confunde a referência ao membro com o valor impresso.

Alternativa B — ❌ Incorreta

Imprimiria collors se fosse passado o nome do enum como string, mas collors.Green é uma expressão que resolve para o valor do membro, não para o nome do enum.

Alternativa C — ❌ Incorreta

Imprimiria Green se o enum fosse de strings (ex.: enum collors { Green = "Green" }), mas aqui é um enum numérico, então o valor é 1, não o nome.

Alternativa D — ❌ Incorreta

O valor 3 seria impresso se houvesse um quarto membro (índice 3) ou se Green fosse o terceiro membro com valor 2. Como Green é o segundo membro, seu valor é 1.

Alternativa E — ✅ Correta ⟵ GABARITO

Green é o segundo membro do enum, portanto recebe o valor automático 1. O console.log(collors.Green) imprime 1. A alternativa está correta.

Gabarito: letra E

Link permanente: /questoes/vu169381