Ответ
Основные принципы ООП в JavaScript:
- Инкапсуляция - скрытие деталей реализации
class User {
#password; // приватное поле
constructor(login, password) {
this.login = login;
this.#password = password;
}
}
- Наследование - создание дочерних классов
class Admin extends User {
constructor(login, password, role) {
super(login, password);
this.role = role;
}
}
- Полиморфизм - переопределение методов
class Animal {
sound() { return '...' }
}
class Cat extends Animal {
sound() { return 'Meow' } // переопределение
}
- Абстракция - работа через интерфейсы
class FetchService {
get(url) { /* абстрактная реализация */ }
}
Также важны принципы SOLID, но они больше относятся к проектированию архитектуры. В JavaScript ООП реализовано через прототипы, но синтаксис классов (ES6) делает код более понятным.