O que são get e set (getters e setters) em TypeScript e como usá-los corretamente?
Olá a todos! Acabei de começar a estudar TypeScript depois de JavaScript, e fiquei confuso com getters e setters.
Em JS, eu estava acostumado a tornar as propriedades dos objetos públicas e acessá-las diretamente: `user.name = 'John'`. Mas em TypeScript, vejo que muitos usam `get` e `set` para acessar propriedades. Não entendo muito bem por que isso é necessário e como implementar corretamente.
Aqui está um exemplo do meu código, onde tento criar uma classe User com getter e setter:
```typescript
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
get name(): string {
return this.name;
}
set name(value: string) {
this.name = value;
}
}
const user = new User('Alice');
console.log(user.name);
```
Mas o TypeScript reclama dessa definição. Recebo o erro: "Property 'name' is already declared in the upper scope". E também não entendo por que getters e setters são necessários, se posso simplesmente usar `public name: string` e acessar diretamente.
No answers yet.
Faça login para deixar uma resposta