class Parent{
getName(){
return 'Sanek';
}
}
class Test extends Parent{
hello(){
return this.getName();
}
}
var test = new Test('Hi');
console.log(test.hello());
Код приведенный выше работает, в консоль выводит
Sanek, но если в дочернем классе прописать конструктор
class Parent{
getName(){
return 'Sanek';
}
}
class Test extends Parent{
constructor(hi){
this.hi = hi;
}
hello(){
return this.getName();
}
}
var test = new Test('Hi');
console.log(test.hello());
Ошибка: Uncaught ReferenceError: Must call super constructor in derived class before accessing 'this' or returning from derived constructor
При этом если использовать конструктор но без наследования, работает
class Test{
constructor(hi){
this.hi = hi;
}
hello(){
return this.hi;
}
}
var test = new Test('Hi');
console.log(test.hello());
Почему так происходит?