Questão nº 37
Questão de Tecnologia da Informação · FGV TJ-MS 2024 (nº 37)
Observe o seguinte script em TypeScript:
interface Tribunal {
sigla: string;
id: integer;
}
const tjms: Tribunal = {
id: 4,
sigla: "TJMS"
}
Ao ser executado em um interpretador com TypeScript na versão 4 ou mais recente, o script acima imprime um erro indicando:
- Aa indefinição do nome 'string';
- Ba indefinição do nome 'integer'; (alternativa correta)
- Ca indefinição do nome 'interface';
- Do uso inesperado de ';' ao declarar Tribunal;
- Ea atribuição indevida do id de tjms antes da sigla;
Resposta comentada
Gabarito Alternativa B
Interfaces no TypeScript servem para definir a "forma" que um objeto deve ter, especificando quais propriedades ele precisa ter e de que tipo (como texto, número, etc.) cada uma é. O TypeScript usa tipos básicos como `string` para textos e `number` para todos os tipos de números (inteiros ou decimais).
(A) Incorreta: `string` é um tipo de dado padrão e perfeitamente válido no TypeScript para representar sequências de caracteres (textos).
(B) Correta: O TypeScript não possui um tipo `integer` (inteiro) separado. Para todos os tipos de números, sejam eles inteiros ou decimais, o TypeScript utiliza o tipo `number`. A tentativa de usar `integer` causa um erro porque o compilador não reconhece esse nome como um tipo válido.
(C) Incorreta: `interface` é uma palavra-chave fundamental e correta no TypeScript para declarar interfaces.
(D) Incorreta: O uso de `;` para finalizar a declaração da interface `Tribunal` é sintaticamente correto e opcional em muitos casos devido à inferência automática de ponto e vírgula, mas nunca um erro.
(E) Incorreta: A ordem das propriedades (`id` e `sigla`) em um objeto literal (como `tjms`) não importa, desde que todas as propriedades exigidas pela interface estejam presentes e com os tipos corretos.
Fonte: FGV TJ-MS 2024 Técnico de Nível Superior - Web Designer (Caderno Tipo 1). Reproduzida para fins de estudo.