01. Classes

В ES6 появился новый синтаксис для функций-конструкторов. Новая конструкция class Class {} представляет собой удобный «синтаксический сахар» для задания конструктора Class вместе с прототипом.

В ES6 выбрана максимально-минимальная реализация классов. Единственным значительным отличием является поддержка наследования классов, которую выполнять намного легче, чем наследование конструкторов.

Пример определения класса:

class Point {
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }
  toString() {
    return `(${this.x}, ${this.y})`;
  }
}

class ColorPoint extends Point {
  constructor(x, y, color) {
    super(x, y);
    this.color = color;
  }
  toString() {
    return super.toString() + " in " + this.color;
  }
}

Пример использования класса:

Last updated

Was this helpful?