Aksessoregenskaper i OOP i JavaScript
Det finnes to typer egenskaper for et objekt.
Den første typen er dataegenskaper (data properties). Vi vet allerede hvordan vi jobber med dem. Alle egenskaper som vi har brukt frem til nå, har vært dataegenskaper.
Den andre type egenskaper har vi ikke vurdert ennå. Dette er aksessoregenskaper (accessor properties). I bunn og grunn er dette funksjoner som brukes for å tildele og hente en verdi, men i den ytre koden ser de ut som vanlige egenskapene til objektet.
Aksessoregenskaper opprettes ved hjelp av
nøkkelordene get og set skrevet
ved deklarasjon av metoder:
class User {
get name() {
}
set name(name) {
}
}
Som et resultat av en slik deklarasjon
vil klassen vår ha en egenskap
name. Samtidig, ved forsøk på lesing
av denne egenskapen, vil metoden
deklarert via get bli kalt:
let name = user.name;
Ved forsøk på skriving vil metoden
deklarert via set bli kalt:
user.name = 'john';
Følgende klasse er gitt:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Opprett et objekt av denne klassen
og prøv å skrive og lese
data fra egenskapen name.