> Как работают классы в JavaScript? (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Kodix
Стек: JavaScript
> Пример ответа
Классы в JavaScript - это синтаксический сахар над прототипным наследованием. Они были введены в ES6, чтобы сделать работу с объектами и наследованием более привычной для разработчиков, знакомых с классическими ООП-языками.
Внутри класс - это функция. Например, class MyClass {} создаёт функцию с именем MyClass. Методы, определённые внутри класса, записываются в свойство MyClass.prototype. Когда вы создаёте экземпляр через new MyClass(), JavaScript:
- Создаёт новый пустой объект.
- Устанавливает прототип этого объекта в
MyClass.prototype. - Вызывает конструктор класса с привязкой
thisк новому объекту. - Возвращает объект (если конструктор не вернул другой объект).
Ключевые особенности:
- Конструктор (
constructor) - специальный метод для инициализации. - Методы экземпляра объявляются без ключевого слова
functionи автоматически попадают в прототип. - Статические методы (через
static) привязываются к самому классу, а не к прототипу. - Наследование через
extendsнастраивает цепочку прототипов:ChildClass.prototype.__proto__указывает наParentClass.prototype. - В конструкторе наследника обязательно вызывать
super()до использованияthis.
Пример:
JAVASCRIPTclass Animal {constructor(name) {this.name = name;}speak() {console.log(`${this.name} издаёт звук`);}}class Dog extends Animal {speak() {console.log(`${this.name} лает`);}}const dog = new Dog('Рекс');dog.speak(); // "Рекс лает"
Несмотря на удобство, классы не добавляют нового механизма - это просто более чистая запись прототипов.
> Похожие задачи по frontend
Можно ли работать с куки на фронтенде через JavaScript
Являются ли функции объектами в JavaScript?
Почему ресурсы CSS и JavaScript блокируют построение и отображение страницы
Для чего используется метод reverse у массивов в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью