ANÚNCIO

~/questoes/programacao

O que é uma Interface em TypeScript e para que serve?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência TypeScript: tutorial para completos iniciantes
Para fixar

O que é uma Interface em TypeScript

Conceito central

Uma Interface em TypeScript é um contrato que define quais propriedades e métodos um objeto deve ter. Ela funciona como um molde ou blueprint que garante que objetos criados a partir dela seguem uma estrutura consistente, tornando o código mais previsível e fácil de manter.

Por que essa resposta faz sentido

A alternativa D está correta porque interfaces realmente definem um contrato especificando propriedades e métodos obrigatórios. Quando você cria uma interface, qualquer objeto que a implementar deve ter exatamente aqueles atributos e funções, garantindo consistência e segurança de tipos.

Armadilhas comuns

  • Confundir Interface com Classe: classes são estruturas completas com implementação; interfaces são apenas contratos de estrutura.
  • Achar que interfaces fazem validação automática: interfaces existem apenas durante a compilação e não executam código em tempo de execução.
  • Pensar que interface é como um arquivo de configuração: interfaces são tipos customizados que você cria para garantir que seus objetos tenham a forma correta.

Entenda as alternativas

A

Esta alternativa descreve uma função de validação ou transformação, não uma interface. Interfaces não fazem validações automáticas de arrays; elas apenas definem a estrutura esperada de um objeto.

B

Embora interfaces possam ser armazenadas em arquivos separados, essa não é sua definição. Uma interface não é um arquivo externo, mas sim uma construção da linguagem que pode estar em qualquer arquivo do projeto.

C

Essa descrição mistura interfaces com classes abstratas. Classes abstratas são estruturas que usam herança e podem ter implementações; interfaces são apenas contratos que definem o que deve existir, sem implementação.

D

Essa é a definição correta. Uma interface estabelece um contrato que diz: 'qualquer objeto que implemente essa interface deve ter estas propriedades e métodos com estes tipos específicos'.

Dica prática: Sempre que você precise que vários objetos diferentes tenham a mesma estrutura (mesmas propriedades e métodos), crie uma interface. Por exemplo, se você vai trabalhar com usuários vindos de um formulário, banco de dados e uma API, defina uma interface Usuario que todos devem seguir. Assim, se tentar criar um usuário sem email ou sem um método obrigatório, TypeScript vai reclamar antes de executar.

Revise pensando: Qual seria a vantagem de usar uma interface para descrever um objeto em vez de simplesmente criar o objeto sem nenhuma definição prévia?