Classes
ES6, Syntacical sugar actually just doing object prototyping
Extended by typescript, see that section
class Rectangle {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
  // Getter
  get area() {
    return this.calcArea();
  }
  // Method
  calcArea() {
    return this.height * this.width;
  }
  //static
  static distance(a, b) {
    const dx = a.x - b.x;
    const dy = a.y - b.y;
    return Math.hypot(dx, dy);
  }
}
const square = new Rectangle(10, 10);
console.log(square.area); // 100Inheritance
Subclasses must super()
class Teacher extends Person {
  constructor(first, last, age, gender, interests, subject, grade) {
    super(first, last, age, gender, interests);
    // subject and grade are specific to Teacher
    this.subject = subject;
    this.grade = grade;
  }
}Interfaces
Hhahahha, did you think this was a good language?!?
Just use class
Last updated