Erro em TypeScript: tipo inexistente 'integer'
Gabarito: letra B. O erro ocorre porque integer não é um tipo nativo do TypeScript; a linguagem utiliza number para representar valores numéricos, sejam inteiros ou decimais. Ao declarar id: integer;, o compilador não reconhece o nome integer e emite um erro de indefinição.
A banca testa o conhecimento dos tipos primitivos do TypeScript. O script tenta usar integer como tipo, mas o TypeScript (a partir da versão 3 e nas versões 4 ou mais recentes) possui apenas os tipos number, string, boolean, null, undefined, any, void, etc. Não existe o tipo integer. Diferentemente de outras linguagens como Java ou C#, que distinguem int e integer, o TypeScript padroniza tudo como number.
Alternativa A — ❌ Incorreta
Afirma que o erro é por indefinição de string. string é um tipo primitivo válido no TypeScript, portanto não gera erro.
Alternativa B — ✅ Correta ⟵ GABARITO
integer não é um tipo reconhecido. O TypeScript espera usar number para valores numéricos. A declaração id: integer; causa o erro "Cannot find name 'integer'".
Alternativa C — ❌ Incorreta
interface é uma palavra-chave da linguagem, usada para definir contratos de objetos. Perfeitamente válida.
Alternativa D — ❌ Incorreta
O uso de ponto e vírgula após a declaração da interface é opcional (por causa do ASI) mas perfeitamente aceito. Não causa erro.
Alternativa E — ❌ Incorreta
A ordem das propriedades na atribuição do objeto tjms não tem relevância; o TypeScript aceita qualquer ordem, desde que os nomes e tipos correspondam.
Gabarito: letra B.