I am trying to explore JS classes and I am getting error if I am not calling super()
.
ReferenceError: Must call super constructor in derived class before accessing 'this' or returning from derived constructor
My requirement is that I just want to call the constructor of the child class. Can I do that?
class Employee {
constructor() {
console.log("I am an employee")
}
}
class Learner extends Employee {
constructor() {
console.log("I am a learner")
}
}
var learner = new Learner();
This is not possible and goes against OOP principles.
To access the same methods and properties in both Employee and Learner without invoking the other's constructor, create a parent class named something like "Person" with separate constructors for Employee and Learner.
So, Employee extends Person
and Learner extends Person
. Then, place the shared methods and attributes inside Person.