Proprietăți de acces în OOP în JavaScript
Există două tipuri de proprietăți ale obiectului.
Primul tip sunt proprietăți-date (data properties). Știm deja cum să lucrăm cu ele. Toate proprietățile pe care le-am folosit până în acest moment au fost proprietăți-date.
Al doilea tip de proprietăți nu l-am analizat încă. Acestea sunt proprietăți-accesor (accessor properties). În esență, acestea sunt funcții care sunt utilizate pentru atribuirea și obținerea valorii, dar în codul extern ele arată ca proprietăți obișnuite ale obiectului.
Proprietățile de acces sunt create cu ajutorul
cuvintelor cheie get și set scrise
la declararea metodelor:
class User {
get name() {
}
set name(name) {
}
}
În urma unei astfel de declarații
clasa noastră va poseda proprietatea
name. În acest caz, la încercarea de citire
a acestei proprietăți va fi apelată metoda,
declarată prin get:
let name = user.name;
La încercarea de scriere va fi apelată metoda,
declarată prin set:
user.name = 'john';
Este dată următoarea clasă:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Creați un obiect al acestei clase
și încercați să scrieți și să citiți
date din proprietatea name.