Οι Getters των Accessors στον OOP στην JavaScript
Ας εξετάσουμε λεπτομερέστερα την εφαρμογή των getters των ιδιοτήτων-accessors. Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση με μια ιδιωτική ιδιότητα:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Ας δημιουργήσουμε σε αυτήν την κλάση
μια δημόσια ιδιότητα name,
η οποία θα μπορεί να διαβαστεί,
αλλά όχι να γραφτεί:
class User {
#name;
constructor(name) {
this.#name = name;
}
get name() {
return this.#name;
}
}
Ας ελέγξουμε τη λειτουργία. Δημιουργούμε ένα αντικείμενο της κλάσης μας, περνώντας του ως παράμετρο την τιμή του ονόματος:
let user = new User('john');
Τώρα διαβάζουμε το όνομα μέσω της δημόσιας ιδιότητας:
let name = user.name;
console.log(name);
Ενώ η προσπάθεια εγγραφής του ονόματος θα οδηγήσει σε σφάλμα, όπως επιθυμούσαμε:
user.name = 'eric';
Υλοποιήστε τους getters accessors για
τις ιδιότητες της κλάσης Employee.