Propriedades de acesso em POO em JavaScript
Existem dois tipos de propriedades de objeto.
O primeiro tipo são as propriedades de dados (data properties). Já sabemos como trabalhar com elas. Todas as propriedades que usamos até o momento presente foram propriedades de dados.
O segundo tipo de propriedades ainda não examinamos. São as propriedades de acesso (accessor properties). Em sua essência, são funções que são usadas para atribuir e obter um valor, mas no código externo elas se parecem com propriedades comuns de objeto.
As propriedades de acesso são criadas usando
as palavras-chave get e set escritas
na declaração de métodos:
class User {
get name() {
}
set name(name) {
}
}
Como resultado dessa declaração,
nossa classe possuirá uma propriedade
name. Ao mesmo tempo, ao tentar ler
essa propriedade, será chamado o método
declarado via get:
let name = user.name;
Ao tentar gravar, será chamado o método
declarado via set:
user.name = 'john';
Dada a seguinte classe:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Crie um objeto desta classe
e tente gravar e ler
dados da propriedade name.