Aula 32
Propriedades de Parâmetro - Maneira Curta de Declarar e Atribuir Propriedades da Classe
Summary
# Aula de TypeScript: Propriedades de Parâmetro
Na aula de hoje, continuamos nosso aprendizado de TypeScript focando em **propriedades de parâmetro**.
### Recapitulando: Classe Indivíduo
- **Classe Indivíduo**: Criamos uma classe chamada `Indivíduo` com o atributo `nome`.
- **Propriedade Privada**: O `nome` foi declarado como uma propriedade de acesso privado do tipo string.
- **Construtor**: Ao criar uma nova instância de `Indivíduo`, passamos o nome como argumento, que é atribuído à variável interna `_nome`.
### Atalhos em TypeScript
As linhas de código que eram necessárias para atribuir o nome podem ser encurtadas usando as propriedades de parâmetro:
1. No construtor, podemos declarar o parâmetro diretamente com o modificador de acesso (`private`).
2. Isso elimina a necessidade da linha de atribuição separada.
#### Exemplo de Código
```typescript
class Indivíduo {
constructor(private nome: string) {}
}
Esse código faz o mesmo que o anterior, declarando e atribuindo o atributo nome
automaticamente.
Compilação e Validação
Após as modificações, utilizamos o comando tsc
no terminal para transpilar o código. Verificamos que, no arquivo gerado, a atribuição foi realizada como esperado.
Recomendações
- Para iniciantes, recomenda-se começar com o método tradicional para entender completamente o que está acontecendo.
- Com a experiência, a forma abreviada pode ser utilizada para simplificar o código.
Conclusão
Essa foi a aula de hoje sobre propriedades de parâmetro em TypeScript. Até a próxima!
Video Transcript
Estamos de volta com mais uma aula de TypeScript.
Vamos continuar o nosso aprendizado e vamos aprender nesta aula, propriedades de parâmetro.
Já aprendemos como criar uma classe.
No nosso exemplo, criamos uma classe chamada de Indivíduo.
O Indivíduo tem como atributo o seu nome.
Declaramos o nome como propriedade de acesso privado do tipo nome.
Quando criamos aqui embaixo, por exemplo, um novo indivíduo e um indivíduo,
passamos com um argumento.
O nome do indivíduo é o construtor que definimos aqui dentro da classe.
Nas linhas 5 a 7.
O construtor é um argumento que pegamos e esse valor, o nome, é atribuído a variável
underscore nome que está dentro do desco e se refere à instância da classe.
Nesse caso, a instância amazenada na variável Maria.
Legal.
Então, essa parte aqui, das linhas 3 até a linha 7, nós podemos encurtar.
Tem um atalho no TypeScript através de propriedade de parâmetro para não ter que declarar aqui
e fazer esse processo e, às vezes, se você já desenvolveu muito, essas coisas é meio
tedioso.
Então, como usar esse atalho?
Vai ser assim.
Está certo?
Então, essa parte aqui vai ser equivalente ao que a gente vai fazer agora.
Então, aqui no construtor temos os parâmetros.
Você pode fazer o seguinte.
Olha aqui.
Você pode, diretamente, remover essa linha aqui de atribuição e, no construtor, você
põe o nome da variável que você quer que seja atribuída quando você passar o argumento
e você põe aqui já o acesso.
Nesse caso, vai ser private.
Esse private vem daqui, nome, a variável aqui, tá?
E o tipo?
Agora, como a gente fez essa parte aqui, não vai precisar mais da linha 3, tá?
Eu ficou dessa maneira aqui.
Esse é um atalho.
O que é que vai acontecer?
Vai ser a mesma coisa que a gente tinha antes, aquele código que a gente deletou.
Ele vai primeiro declarar que tem um atributo chamado nome na classe indivíduo do tipo
string.
Logo em seguida, se você criar a nova instância com a palavra chave new, ele vai pegar esse
argumento, vai pegar aqui e vai diretamente atribuir o des.underscore.nome ao valor passado
aqui, na linha 22, por exemplo.
Nem precisar você ter que digitar que a gente já tinha antes, des.underscore.nome igual
a o argumento que foi passado aqui, né?
Então nem precisa mais se você usar esse atalho.
Vamos salvar aqui, vamos ao terminal, vou digitar tsc para transpilar o código para, nesse
caso, s5.
Eu modifiquei o test com fake.json, o target para s5.
Vamos aqui na pasta dist, temos o indivíduo.js e você vê que no construtor, realmente ele
tem o des.underscore.nome igual o nome passado como argumento da mesma maneira anteriormente.
Tá certo?
Agora, antes da gente terminar, tome cuidado com isso, se você não entende o que está
acontecendo, recomendo você começar do começo e fazer da maneira tradicional.
Quando você entender da maneira tradicional e você já tem uma experiência, você pode
usar essa maneira mais curta, porque você já entende que isso, na verdade, está fazendo
as coisas automaticamente declarando o atributo e está automaticamente fazendo a atribuição
da instância.
Então tome cuidado com isso.
Então por essa aula é 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: