Getters Φανταστικών Ιδιοτήτων στο OOP σε JavaScript

Με τη βοήθεια των accessors μπορούμε να δημιουργήσουμε φανταστικές ιδιότητες, που στην πραγματικότητα δεν υπάρχουν στο αντικείμενο. Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε μια κλάση με δύο δημόσιες ιδιότητες:

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

Ας δημιουργήσουμε μια τρίτη ιδιότητα, που θα περιέχει το όνομα και το επώνυμό. Ας δημιουργήσουμε για αυτό μια ιδιότητα-accessor:

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'