Getteri imaginarnih svojstava u OOP-u u JavaScript-u

Pomoću akcesora možemo kreirati imaginarna svojstva, koja u objektu zapravo ne postoje. Pogledajmo primer. Neka imamo klasu sa dva javna svojstva:

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

Napravimo treće svojstvo, koje će sadržati ime i prezime. Kreirajmo za to svojstvo-akcesor:

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

Proverimo. Kreirajmo objekat klase, prosledivši parametrima ime i prezime:

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

Ispišimo vrednosti javnih svojstava:

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

A sada ispišimo vrednost našeg imaginarnog svojstva:

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