Основы языка: TypeScript
Основы TypeScript и JavaScript для разработчика с нуля: основы JS, асинхронность и event loop, модули и npm, базовые типы, дженерики, сужение типов, классы и декораторы, инструменты.
Первая фаза программы — язык, на котором пишут фронтенд и Node-бэкенд: сначала нужный минимум JavaScript, затем TypeScript поверх него. С нуля и простыми словами: основы JS, асинхронность и event loop, модули и npm, типы и их вывод, дженерики, сужение типов, классы и декораторы, инструменты сборки. Читать лучше по порядку.
- Основы JavaScript для бэкенда — С чего начать backend-разработчику: let/const, типы данных, функции и стрелки, объекты, массивы, деструктуризация и почему === лучше == — база перед TypeScript.
- Базовые типы TypeScript: аннотации, вывод, union и any — Зачем TypeScript поверх JavaScript, как работают аннотации и вывод типов, чем отличаются type и interface, что такое union, литералы, any, unknown и never.
- Сужение типов и guards в TypeScript — Как TypeScript сужает типы через typeof, instanceof, in и проверки на null, что такое пользовательские type guards, discriminated unions и работа с unknown.
- Дженерики в TypeScript: переиспользуемый типобезопасный код — Что такое generic в TypeScript и зачем он нужен: обобщённые функции, типы и интерфейсы, ограничения через extends и базовые utility types простыми словами.
- Классы и декораторы в TypeScript — Классы в TypeScript с нуля: поля, модификаторы доступа, конструктор, наследование, абстрактные классы и интерфейсы. Что такое декораторы и зачем они в NestJS.
- Асинхронность и event loop в TypeScript — Как Node выполняет асинхронный код одним потоком: event loop простыми словами, путь от колбэков к Promise и async/await, обработка ошибок и параллельные операции.
- Модули и npm: как код собирается из частей — Как TypeScript-код делится на модули (import/export против require), зачем нужен package.json, чем dependencies отличаются от devDependencies и что такое semver.
- Инструменты TypeScript и Node: с чего начать — Node и npm/pnpm, компилятор tsc и tsconfig.json, запуск через tsx, структура проекта и линтеры — минимальный набор, чтобы начать писать на TypeScript.