ES6-oops-classes-inheritance
by upigilam
JavaScript
class Rectangle {
constructor(h, w) {
this.height = h;
this.width = w;
}
static isRectangle(p) {
return p instanceof Rectangle;
}
// As instance function
getArea() {
return this.height * this.width;
}
// As getter
get area() {
return this.height * this.width;
}
}
class Square extends Rectangle {
constructor(side) {
super(side, side);
}
}
const mySquare = new Square(5 /* side */);
Rectangle.isRectangle(mySquare); // true
console.log(mySquare.getArea()); // returns 25