Getters de propriedades em POO em JavaScript
Suponha que temos a seguinte classe com propriedades privadas:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
Como você pode ver, essas propriedades são definidas uma vez na criação do objeto. No entanto, atualmente, é impossível ler essas propriedades, pois elas são privadas e não existem métodos correspondentes para isso.
Vamos criar para nossas propriedades métodos especiais,
que permitem ler essas propriedades.
Tais métodos (chamados de getters) devem
começar com a palavra get, seguida pelo
nome da propriedade a ser lida.
Vamos criar os getters para nossas propriedades:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
Vamos testar seu funcionamento. Vamos criar um objeto, passando os dados do usuário como parâmetro:
let user = new User('john', 'smit');
Vamos ler esses dados, utilizando os getters:
console.log(user.getName());
console.log(user.getSurn());
Na classe Employee, crie
três propriedades privadas: nome, salário
e idade.
Passe via construtor os valores dessas propriedades.
Crie getters que retornem os valores de cada uma de nossas propriedades.