class MyClass {
constructor() {
this.answer = 42;
}
}
const obj = new MyClass();
obj.answer; // 42
//class in es6 are just functional constructor.
class PersonES6{
constructor(firstname,lastname,age){
this.firstname= firstname;
this.lastname=lastname;
this.age=age
}
aboutPerson(){
console.log(`My name is ${this.firstname} ${this.lastname} and I am ${this.age} years old`)
}
}
const shirshakES6= new Person('Shirshak','Kandel',25)
shirshakES6.aboutPerson();
class Point {
constructor(x, y) {
this.x = x
this.y = y
}
toString() {
return '[X=' + this.x + ', Y=' + this.y + ']'
}
}
class ColorPoint extends Point {
static default() {
return new ColorPoint(0, 0, 'black')
}
constructor(x, y, color) {
super(x, y)
this.color = color
}
toString() {
return '[X=' + this.x + ', Y=' + this.y + ', color=' + this.color + ']'
}
}
console.log('The first point is ' + new Point(2, 10))
console.log('The second point is ' + new ColorPoint(2, 10, 'green'))
console.log('The default color point is ' + ColorPoint.default())
class Polygon {
constructor(...sides) {
this.sides = sides;
}
// Method
*getSides() {
for(const side of this.sides){
yield side;
}
}
}
const pentagon = new Polygon(1,2,3,4,5);
console.log([...pentagon.getSides()]); // [1,2,3,4,5]