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;
}
}
Пример использования класса:
// In fact, the result of a class definition is a function:
> typeof Point
'function'
> var p = new Point(25, 8);
> p.toString()
'(25, 8)'
> let cp = new ColorPoint(25, 8, 'green');
> cp.toString();
'(25, 8) in green'
> cp instanceof ColorPoint
true
> cp instanceof Point
true
Last updated
Was this helpful?