Классы в JavaScript являются надстройкой над прототипным наследованием, при этом для использования классов не нужно обращаться к прототипам. 2
Прототипное наследование — основа объектной модели в JavaScript. 1 В этом подходе каждый объект наследует поля (свойства) и методы объекта-прототипа. 2 Прототип можно использовать для создания других объектов путём его клонирования или расширять его разными функциями. 5
Классы в JavaScript делают процесс наследования более понятным и удобным для разработчиков, привыкших к ООП. 3 Для этого в ES6 было представлено ключевое слово class
, которое является синтаксическим сахаром для прототипного наследования. 25
Принцип работы:
class
определяет новый класс. 3 extends
. 23 super
, чтобы передать значения в конструктор родителя и выполнить его логику. 3