
#javascript #es6
Czemu chcąc użyć konstruktora w sub-klasie muszę wywołać konstruktor rodzica za pomocą
Bez tego wyrzuca błąd
Na prawdę to jest tak zrobione że muszę ręcznie wywołać konstruktor rodzica żeby w ogóle użyć konstruktora w sub-klasie?
class MyClass {}
class MySubClass extends MyClass {
constructor(){
super();
console.log('hello world');
}
}
let a = new MySubClass();Czemu chcąc użyć konstruktora w sub-klasie muszę wywołać konstruktor rodzica za pomocą
super()?Bez tego wyrzuca błąd
Uncaught ReferenceError: this is not defined.Na prawdę to jest tak zrobione że muszę ręcznie wywołać konstruktor rodzica żeby w ogóle użyć konstruktora w sub-klasie?
- Najlepsze
- Wszystkie komentarze







constructor(...args) {super(...args);
}
Tak więc JS "w tle" dodaje domyślny konstruktor jeżeli swojego nie ustalimy. I tam zachodzi "dziedziczenie"
thisz klasy rodzica za pomocąsuper(), nie dzieje się to automatycznie tak jak na początku myślałem. Czyli nadpisując domyślny konstruktor trzeba dodać w nimsuper().