Глубокое понимание JavaScript: ESLint, стиль кода, принципы SOLID, тестирование, асинхронность, функции, классы и модули