Getters de Propriedades Virtuais em POO em JavaScript

Usando assessores, você pode criar propriedades virtuais, que na verdade não existem no objeto. Vamos ver um exemplo. Suponha que temos uma classe com duas propriedades públicas:

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
}

Vamos criar uma terceira propriedade, que conterá o nome e o sobrenome. Vamos criar um assessor para isso:

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  get full() {
    return this.name + ' ' + this.surn;
  }
}

Vamos testar. Vamos criar um objeto da classe, passando o nome e o sobrenome como parâmetros:

javascriptlet user = new User('john', 'smit');

Vamos exibir os valores das propriedades públicas:

javascriptconsole.log(user.name); // 'john'
console.log(user.surn); // 'smit'

E agora vamos exibir o valor da nossa propriedade virtual:

javascriptconsole.log(user.full); // 'john smit'