Aula 17
Propriedades Opcionais de uma Interface em TypeScript
Summary
Resumo da Aula sobre Propriedades Opcionais em Interfaces no TypeScript
Nesta aula, discutimos propriedades opcionais de uma interface em TypeScript, começando a partir de um exemplo anterior com a interface Indivíduo
, que possui as propriedades prenome
e sobrenome
, ambas do tipo string
.
Exemplos e Conceitos
- Interface Indivíduo: Inicialmente, a interface possui apenas
prenome
esobrenome
. - Objeto Alguém: Um objeto criado chamado
alguém
, que inclui uma propriedade adicional,idade
, que não está na interface.
Propriedades Opcionais
-
Adicionando Idade à Interface:
- A propriedade
idade
pode ser adicionada à interfaceIndivíduo
como opcional. - Para tornar
idade
opcional, usa-se o sinal de interrogação (?
) antes dos dois pontos, ao invés de declarar como necessária.
interface Indivíduo { prenome: string; sobrenome: string; idade?: number; // idade agora é opcional }
- A propriedade
-
Implementação de Log:
- Foi apresentado como imprimir uma mensagem condicional incluindo a idade, caso fornecida. A interpolação de string é utilizada para formatar a mensagem.
if (indivíduo.idade !== undefined) { console.log(`Tenho ${indivíduo.idade} anos.`); }
-
Testes Práticos:
- Ao executar o código, se
idade
for fornecida, a mensagem "Tenho xx anos" será exibida. - Se
idade
não for passada, o programa não apresentará erros e a mensagem relacionada à idade não será exibida.
- Ao executar o código, se
Conclusão
- Um campo opcional é indicado por
?
na declaração da interface. - TipoScript permite a flexibilidade de omitir propriedades que não são necessárias, enquanto valida aquelas que são fundamentais.
Revisão Final: Para definir uma propriedade como opcional, adicione um ?
antes dos dois pontos na definição da interface.
Encerramento: Agradecemos pela atenção e até a próxima aula!
Video Transcript
Nesta aula vamos falar de propriedades opcionais de uma interface no TypeScript.
Então vamos começar aqui partindo do nosso exemplo anterior, onde temos uma interface
chamada indivíduo por duas propriedades, dois campos, o prenome e o sobrenome, ambos
do tipo string.
Continuamos o objeto chamado alguém, que tem três propriedades, idade sendo a propriedade
a mais que não existe na interface indivíduo.
Ao rodar o nosso copilador não há nenhum problema, tsc no terminal.
De volta ao nosso editor de texto, vamos falar sobre propriedades opcionais.
Corte que a idade aqui foi passada por alguém e esse alguém aqui vai passar pelo check através
da interface indivíduo da função imprimir nome.
Mas que tal, nós adicionamos idade como uma propriedade opcional da interface indivíduo.
Pode ser que a idade seja fornecida ou não.
Então no caso de que a idade seja fornecida, por exemplo, nós iríamos checar se o indivíduo
tem uma idade definida, nós podemos dar um console log a mais, tenho indivíduo.idade,
eu estou fazendo a interpolação de string com o back tick.
Então o valor da variável indivíduo.idade será substituído aqui, onde tem esse dólar
com as chaves.
Tenho xx anos.
Note que esse cara iria ser falso se a idade fosse zero, então vamos...
A gente espera que a idade não seja zero para isso sempre ser verdadeiro se a idade
for definido com o número.
Legal, vamos aqui.
Quando a gente tiver isso, se ele tiver uma idade fornecida aqui, irá imprimir uma mensagem
adicionada dizendo que tenho xx anos.
Com isso vamos lá na interface indivíduo e adicionar a propriedade opcional chamada
idade.
Se eu escrever assim idade é do tipo número, não vai ser opcional, ele vai ser uma propriedade
mandatória.
Então vamos fazer idade ser opcional adicionando uma sinal de cachedon aqui antes dos dois
pontos.
Isso significa que idade é opcional, você pode fornecer ou não.
Então vamos testar.
Note que idade foi fornecida, vamos ver o que aqui dá.
Primeiro vou compilar para ver se não tem nenhum problema.
Sem problemas, vou rodar o script node dist barra propriedades de um objeto em função
.js.
Então apareceu meu nome é Anna Silva, tenho 26 anos.
Nós passamos a idade pelo objeto alguém e porque idade número 26 é definida, deu
o console log e tenho 26 anos.
Nós também podemos omitir a idade, eu vou comentar aqui, você pode dar o comentário
e alguém vai ver, vai ser passado como argumento, somente com o praname e sobrenome.
Nesse caso, se a gente voltar aqui no terminal, compilar e rodar.
Note que a mensagem meu nome é Anna Silva, apareceu mas a mensagem dos anos de vida não
apareceu porque idade é um campo opcional da interface indivíduo.
O TypeScript já sabe se você não passa a idade, tudo bem, mas se você não passar
o F aqui, não vai ser executado.
Para revisar, para fazer um campo opcional, adiciona aqui o castão e os dois pontos,
antes dos dois pontos.
Para revisar, é só e até a próxima.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: