Medium Article to understand the problem and the solution.
Below are two files:
- Problematic-code.js : This was the code that I had submitted but was not working.
- Solution.js : This is the actual working code that I have submitted.
Below are two files:
class Rectangle { | |
constructor(w, h) { | |
this.w = w; | |
this.h = h; | |
} | |
} | |
/* | |
* Write code that adds an 'area' method to the Rectangle class' prototype | |
*/ | |
Rectangle.prototype.area = () => (this.w * this.h) | |
/* | |
* Create a Square class that inherits from Rectangle and implement its class constructor | |
*/ | |
class Square extends Rectangle { | |
constructor(side) { | |
super(side, side) | |
} | |
} | |
if (JSON.stringify(Object.getOwnPropertyNames(Square.prototype)) === JSON.stringify(['constructor'])) { | |
const rec = new Rectangle(3, 4); | |
const sqr = new Square(3); | |
console.log(rec.area()); | |
console.log(sqr.area()); | |
} else { | |
console.log(-1); | |
console.log(-1); | |
} |
class Rectangle { | |
constructor(w, h) { | |
this.w = w; | |
this.h = h; | |
} | |
} | |
/* | |
* Write code that adds an 'area' method to the Rectangle class' prototype | |
*/ | |
Rectangle.prototype.area = function() { return(this.w * this.h); } | |
/* | |
* Create a Square class that inherits from Rectangle and implement its class constructor | |
*/ | |
class Square extends Rectangle { | |
constructor(side) { | |
super(side, side) | |
} | |
} | |
if (JSON.stringify(Object.getOwnPropertyNames(Square.prototype)) === JSON.stringify(['constructor'])) { | |
const rec = new Rectangle(3, 4); | |
const sqr = new Square(3); | |
console.log(rec.area()); | |
console.log(sqr.area()); | |
} else { | |
console.log(-1); | |
console.log(-1); | |
} |