Aula 16
Como Criar uma Interface para Usar como Parametro de Função no TypeScript
Summary
# Resumo da Aula sobre Interfaces em Programação
Nesta aula, aprendemos sobre **interfaces** em programação, focando em como defini-las e utilizá-las como parâmetros de funções.
## Conceitos Abordados
- **Definição de Função**: A função `eprimeNome` aceita um objeto com pelo menos duas propriedades: `pré-nome` e `sobrenome`. A função não retorna nada, mas realiza um `console.log` exibindo o nome completo:
Meu nome é [pré-nome] [sobrenome].
- **Objeto Exemplo**: A função é chamada utilizando um objeto `alguém`, que possui três propriedades: `pré-nome`, `sobrenome` e `idade`. A propriedade `idade` não é utilizada dentro da função.
- **Tipos no TypeScript**: No exemplo, o tipo das propriedades do objeto `alguém` é definido diretamente na assinatura da função.
## Criação de Interface
- **Interface Indivíduo**: Para generalizar a definição do objeto, podemos criar uma interface chamada `Indivíduo`. A implementação é feita conforme o seguinte:
```typescript
interface Indivíduo {
pré-nome: string;
sobrenome: string;
}
- Uso da Interface: Podemos usar a interface
Indivíduo
como tipo no parâmetro da funçãoeprimeNome
. Isso permite uma melhor reutilização e simplificação da assinatura da função.
Verificação de Erros
-
Ao chamar a função
eprimeNome
com um objetoalguém
, o TypeScript verifica se o objeto atende à interfaceIndivíduo
, garantindo que ele tenha as propriedades corretas. -
Caso o objeto esteja incompleto (faltar
pré-nome
ousobrenome
) ou contenha um erro de digitação (comosobrenome
escrito incorretamente), o TypeScript fornecerá mensagens de erro durante a compilação, sugerindo correções.
Conclusão
Nesta aula, entendemos como criar e usar interfaces para definir tipos em funções, facilitando a organização e segurança do código.
Até a próxima aula!
Video Transcript
Vamos continuar aqui, partindo da que a gente aprendeu, nós vamos aprender sobre interfaces,
como definir uma interface e usar como parâmetro de uma função.
Note que a gente tinha definido a função e firme nome, que leva como argumento um objeto
que tem duas propriedades, pelo menos duas propriedades para nome e sobrenome e retorno.
Não retorno nada, mas dá o console log, meu nome é o nome completo,
para nome e seguido do espaço, seguido de um sobrenome.
Então, eprime nome é chamada, a função é chamada com o objeto alguém que contém
três propriedades, para nome, sobrenome e idade.
Prime nome é onString, sobrenome é onString, idade é um nome.
Não usamos a idade na função eprime nome.
Certo, então, você note que a gente definiu o tipo para o indivíduo aqui na mesma assinatura
da função.
Há também outra maneira de a gente isolar esse tipo aqui de cada propriedade do objeto
alguém.
Nós podemos fazer, por exemplo, uma interface chamada indivíduo para poder generalizar
em geral esse objeto.
Então aqui fora eu vou dizer interface e o nome da interface.
Posso dizer indivíduo, pessoa ou qualquer coisa.
Vou dizer indivíduo e abre as chaves.
Agora o que você faz é só pegar essa que você escreveu aqui, recorta, cola aqui,
tira as chaves e quebra uma linha aqui.
E aí nós definimos, não se esqueça da pontivírula, definimos a interface indivíduo
que tem duas propriedades pré-nome, que é onString, sobrenome que é onString.
E nós podemos usar essa interface no lugar aqui do objeto que a gente tinha antes.
Então vou falar indivíduo.
Dessa maneira nós isolamos esse tipo para poder ser reutilizado em outros cantos e
também para não poder desfitar menos coisas na assinatura da função.
Então nesse caso o que vai acontecer?
Quando você chamar para o meu nome esse objeto é alguém, ele vai lá e checa a interface
indivíduo e comparar, ver se tem pré-nome, sobrenome que checa os tipos.
Então vai funcionar da mesma maneira que antes, tá?
Então o seu DTSC node dist, barra, propriedades de objeto em função,
Js, meu nome é Anosilva.
Tá?
Então aqueles mesmos cheques de erro também aconteceria se eu não tivesse o pré-nome,
por exemplo, ou o sobrenome, no alguém que fosse passado com um objeto, seu DTSC iria
detectar esse problema.
Tá dizendo, ah, você propriedades sobrenomes não existe no objeto que você passou.
Também aquela mesma problema se você tivesse feito, cometido um erro, você escreveu sobrenome
sem um B aqui, então um erro aqui.
Também ia detectar.
Tá dizendo, só o renome não existe no indivíduo, no tipo indivíduo.
Você quis dizer sobrenome, tá te dizendo, sugestão para ajeitar o problema, corrigir.
Tá certo?
Então essa é a interface que a gente pode criar e passar com, definir como tipo dos
parâmetros da função.
Então, por essa aula é só e até a próxima.
Tchau.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: