Um momento
Aula 31
Cursos / Aprenda TypeScript - Tutorial Básico Vindo do JavaScript
Como Criar um Getter (usando get) em TypeScript

Summary

## Resumo do Transcript

### Recapitulando

1. **Renomeação de Propriedade**: 
   - A propriedade `nome` foi renomeada para `_nome` devido à criação de um setter. 
   - Isso evita conflito entre o nome da propriedade e o do setter.

2. **Modificações no Construtor e Getter**: 
   - Foram feitas alterações no construtor e no getter para utilizar `_nome`.

3. **Definição do Setter**:
   - Criada uma função `set nome(novoNome)` para modificar o nome da instância.
   - O setter não deve ter valor de retorno.

4. **Teste do Setter**:
   - A linha 27 está chamando a função `nome`, usando sintaxe de açúcar (syntactic sugar) em vez de uma atribuição direta.

5. **Compilação e Execução**:
   - O código foi compilado e o script executado. O console log foi corrigido para que o retorno do nome fosse visível.

6. **Modificações no Getter**: 
   - A função getter foi ajustada para retornar `_nome`.

7. **Saída do Script**:
   - O output final foi: "Meu nome é Maria, o nome do indivíduo é João", indicando que o nome foi corretamente alterado de Maria para João.

### Conclusão

- O uso de getters e setters permite acesso indireto a propriedades privadas, proporcionando uma forma natural de interação com os atributos dos objetos no JavaScript através da sintaxe de açúcar.

Video Transcript

Então vamos continuar aqui, então recapitulando. Renomeamos o nome da propriedade nome para underscore nome, porque a gente fez um setter para poder mudar o nome da instância dessa maneira aqui em vez de falar set nome na função. Agora, porque a propriedade nome aqui do setter, nome de setter, conflite com atributo nome, temos que modificar o nome para ter outro nome na verdade com underscore. Então modificamos construtor e o comprimentar, não se esqueça, underscore nome. Agora fizemos o setter, fizemos uma função nome que vai pegar com argumento novo nome e vai apenas modificar o nome da instância para o novo nome. Adicionamos a palavra chave set antes desse nome e em norte que não pode ter o valor de retorno que ele reclamou. E com isso vamos testar se realmente vai funcionar a linha 27. Note que o nome ainda é propriedade privada e esse nome que a gente está referindo aqui na verdade é um método setter. Então essa linha 27 realmente por trás dos bastidores está na verdade chamando a função nome um argumento aqui. Isso não é uma atribuição direta, é uma atribuição indireta através da função setter usando esse açúcar sintático aqui, syntactic sugar. Vamos compilar aqui no terminal, já compilei que o trasc, vou usar o node para rodar esse script, disto, barro indivíduo. O meu nome é Maria. Ok, agora esqueci de dar o console log porque não tem gatherer. Ah, então vamos fazer o gather rapidinho. Para o gatherer faz o seguinte, pode voltar aqui, linha 19, muda para nome, tirar a palavra que eu vou botar get, tira o... Pode até, acho que ele não reclama do valor de etono, sei lá, string, que ele retorna a string e vai ser o underscore nome. Vamos lá, linha 30, o nome de divido é Maria, não é mygetnome, você pode agora se referir Maria.names diretamente, embora que na verdade, de novo, quando você fala Maria.nome, você não está acessando a propriedade ou atributo nome diretamente. Isso é um açúcar sintático, na verdade isso é uma chamada de função, ainda que não tem os parênteses, na verdade está chamando a função gather, não é o set, é o gather, nesse caso, que é um acesso, e eu esqueci do parênteses do console log. Então gather, essa função é chamada e ele retorna o desponto nome, que é o nome da... do indivíduo, note que Maria mudou o nome para João. Então esperamos ver João. E eu não copilei. Vamos pilar primeiro, agora roda de novo. Oi, meu nome é Maria, o nome do indivíduo é João. Então funcionou direitinho, mudou o nome para João e mostrou o nome para João. Tá, então esses são os gatters e os setters. Tá bom? Vamos ver aqui, para poder você usar esse açúcar sintático, atribuição e acesso, de maneira que, assim, parece que seja direta, né, maneira natural do JavaScript, objeto, ponto, sua propriedade, objeto, ponto, sua propriedade, igual a um novo valor. Esse é o açúcar sintático, nesse caso. Por causa do set, o palavra já vem por causa do get. Na verdade são funções, você chama a função aqui para acessar o nome na linha 30. Ei, me dá o get, me dá o nome aqui, chama o gather nome. Na linha 27, ele vai lá para o setter, ei, quero mudar o valor, por favor, chama essa função setter nome. Está aqui o novo nome, ele muda lá o atributo que, na verdade, se chama underscore nome, que está aqui definido como propriedade privada. Então não há acesso direto, é acesso indireto e, precisamente, através do getter e do setter. Tá bom? Urassal, é 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: