Wpis z mikrobloga

Mireczki bardzo proszę o radę. W jaki sposób wywołać metodę zdefiniowaną w klasie, w innej klasie, która jest jej dzieckiem?
W konstruktorze stosuję super(), jednak dla metod to rozwiązanie nie działa. Ktoś ma jakiś pomysł?
Mieszanie klas i prototypów to chyba zły pomysł?
#pytanie #javascript #es6
  • 2
@Melisandre: Można wykonywać funkcje "w górę" (z klasy dziecka do klasy matki) - dla konstruktora to jest super( ), natomiast dla metody to jest super.mojaMetoda();

Przykład:

class User {

getPrivileges() { return ['view']; };

}

class Admin extends User {

getPrivileges() {
return Array.concat( super.getPrivileges() , [ 'edit' ] ); // zwróci ['view','edit']
}

}