Accessoregenskaper i OOP i JavaScript
Det finns två typer av objektets egenskaper.
Den första typen är dataegenskaper (data properties). Vi vet redan hur man arbetar med dem. Alla egenskaper som vi har använt fram till nu var dataegenskaper.
Den andra typen av egenskaper har vi inte tittat på ännu. Det är accessoregenskaper (accessor properties). I grund och botten är det funktioner som används för att tilldela och hämta ett värde, men i extern kod ser de ut som vanliga objektets egenskaper.
Accessoregenskaper skapas med hjälp av
nyckelorden get och set skrivna
när metoderna deklareras:
class User {
get name() {
}
set name(name) {
}
}
Som ett resultat av en sådan deklaration
kommer vår klass att ha egenskapen
name. Samtidigt, vid försök att läsa
denna egenskap kommer metoden,
deklarerad via get, att anropas:
let name = user.name;
Vid försök att skriva kommer metoden,
deklarerad via set, att anropas:
user.name = 'john';
Följande klass är given:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Skapa ett objekt av denna klass
och försök att skriva och läsa
data från egenskapen name.