-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInheritance_Extend.js
More file actions
36 lines (36 loc) · 1.43 KB
/
Copy pathInheritance_Extend.js
File metadata and controls
36 lines (36 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Inheritance: Extends
// Classes can extend each other through the extends keyword. A class can only extends one other class.
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var Rectangle = /** @class */ (function () {
function Rectangle(width, height) {
this.width = width;
this.height = height;
}
Rectangle.prototype.getArea = function () {
return this.width * this.height;
};
return Rectangle;
}());
var Square = /** @class */ (function (_super) {
__extends(Square, _super);
function Square(width) {
return _super.call(this, width, width) || this;
}
return Square;
}(Rectangle));
var mySq = new Square(20);
console.log(mySq.getArea());