Skip to content

Instantly share code, notes, and snippets.

@Omkaragrawal
Created May 18, 2020 13:28
Show Gist options
  • Save Omkaragrawal/b0ba6d413be8659c139c08aa49c77574 to your computer and use it in GitHub Desktop.
Save Omkaragrawal/b0ba6d413be8659c139c08aa49c77574 to your computer and use it in GitHub Desktop.
HakerRank tutorials 10DaysofJavascript Inheritance

Problem Statement

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.
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);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment