Getters Φανταστικών Ιδιοτήτων στο OOP σε JavaScript
Με τη βοήθεια των accessors μπορούμε να δημιουργήσουμε φανταστικές ιδιότητες, που στην πραγματικότητα δεν υπάρχουν στο αντικείμενο. Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε μια κλάση με δύο δημόσιες ιδιότητες:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
}
Ας δημιουργήσουμε μια τρίτη ιδιότητα, που θα περιέχει το όνομα και το επώνυμό. Ας δημιουργήσουμε για αυτό μια ιδιότητα-accessor:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
get full() {
return this.name + ' ' + this.surn;
}
}
Ας ελέγξουμε. Ας δημιουργήσουμε ένα αντικείμενο της κλάσης, περνώντας ως παραμέτρους το όνομα και το επώνυμό:
let user = new User('john', 'smit');
Ας εμφανίσουμε τις τιμές των δημόσιων ιδιοτήτων:
console.log(user.name); // 'john'
console.log(user.surn); // 'smit'
Και τώρα ας εμφανίσουμε την τιμή της φανταστικής μας ιδιότητας:
console.log(user.full); // 'john smit'