Геттерҳои хосияти мавҳумӣ дар ООП дар JavaScript

Бо ёрии аксессорҳо метавон хосияти мавҳуме сохт, ки дар воқеъ дар объект вуҷуд надорад. Биёед ба мисол нигарем. Бигзор мо як синф бо ду хосияти оммавӣ дорем:

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

Биёед хосияти сеюмеро созем, ки ном ва насабро дар бар гирад. Барои ин хосияти-аксессор созем:

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

Санҷем. Як объекти синфро сохта, параметрҳо ном ва насабро гузаронем:

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

Қиматҳои хосияти оммавиро чоп кунем:

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

Акнун қимати хосияти мавҳуми худро чоп кунем:

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