js this vs super code example
Example 1: super in javascirpt
class Rectangle {
constructor(height, width) {
this.name = 'Rectangle';
this.height = height;
this.width = width;
}
sayName() {
console.log('Hi, I am a ', this.name + '.');
}
get area() {
return this.height * this.width;
}
set area(value) {
this._area = value;
}
}
class Square extends Rectangle {
constructor(length) {
this.height; // ReferenceError, super needs to be called first!
// Here, it calls the parent class's constructor with lengths
// provided for the Rectangle's width and height
super(length, length);
// Note: In derived classes, super() must be called before you
// can use 'this'. Leaving this out will cause a reference error.
this.name = 'Square';
}
}
Example 2: extended class call method from super in javascript
// this is how we call method from a super class(i.e MAIN CLASS) to extended class
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hi, all my name is ${this.name}`);
}
}
class Employee extends Person {
constructor(name, age, employer) {
super(name, age); // NOTE : super must call before accessing (this)
this.employer = employer;
}
greeting() {
super.greet(); // this is how we call
console.log(`I'm working at ${this.employer}`);
}
}
let Steve = new Employee('Xman', 25 , 'Skynet');
Steve;
Steve.greeting(); // check by consoling MATE