Um momento
Aula 32
Cursos / Aprenda TypeScript - Tutorial Básico Vindo do JavaScript
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: