Egenskabs-accessorer i OOP i JavaScript

Der er to typer af objektegenskaber.

Den første type er dataegenskaber (data properties). Vi ved allerede, hvordan man arbejder med dem. Alle egenskaber, som vi har brugt indtil nu, har været dataegenskaber.

Den anden type egenskaber har vi endnu ikke set på. Det er egenskabs-accessorer (accessor properties). I deres kerne er de funktioner, der bruges til at tildele og hente en værdi, men i den eksterne kode ser de ud som almindelige objektegenskaber.

Egenskabs-accessorer oprettes ved hjælp af nøgleordene get og set skrevet ved deklarationen af metoder:

javascriptclass User {
  get name() {
  
  }
  set name(name) {
  
  }
}

Som et resultat af en sådan deklaration vil vores klasse besidde egenskaben name. Ved læseforsøg af denne egenskab vil metoden deklareret via get blive kaldt:

javascriptlet name = user.name;

Ved skriveforsøg vil metoden deklareret via set blive kaldt:

javascriptuser.name = 'john';
Задание 1

Følgende klasse er givet:

javascriptclass Employee {
  get name() {
    console.log('get');
  }
  set name(name) {
    console.log('set');
  }
}

Opret et objekt af denne klasse og prøv at skrive og læse data fra egenskaben name.