Основы TypeScript и структура языка
Дальше: О разделе · Первая программа · Типы и типизация · Обзор TypeScript в JS
Карта учебного раздела
Здесь собрана карта раздела: куда идти дальше и в каком порядке. У каждой темы своя статья с примерами, пояснениями после кода и блоком практики. Таблицы синтаксиса и tsconfig собраны в 301; короткий вход из курса JavaScript — в Обзор TypeScript в JS.
Старт: О разделе → Первая программа → Типы и типизация.
Соответствие учебным темам
| Тема | Статья |
|---|---|
| Что такое TypeScript, плавный вход | intro, 4, 30 |
| История, надмножество JS, проблемы JS | 7, 10 |
| Статическая / структурная типизация, type safety, LSP | 10, 18, 28 |
| Типы = JS + расширения; enum, tuple | 10, 19 |
| Аннотации и вывод типов | 11, 10 §inference |
| Проверка на этапе компиляции | 15, 16 |
| Компилятор, флаги, tsgo (7.x), tsserver, language services | 15, 16 |
| Модули, monorepo, NPM, DefinitelyTyped | 3, 9 |
| Type-driven, продвинутые типы, дженерики | 6, 10, 24 |
| Ошибки, декораторы, примеси, паттерны | 27, 23, 28 |
| React, Node, async, генераторы, TypeORM | 21, 22, 17, 25, 26 |
| Миграция JS→TS, мини-практикум | 6, 5 |
Соответствие справочнику 301 (18 блоков)
Полная таблица «тема → учебная статья → §301» — в индексе справочника. Кратко:
| Блок 301 | Учебные статьи |
|---|---|
| 1–3 Основы, составные, union/intersection | 10, 11, 12, 19 |
| 4–6 Функции, интерфейсы, классы | 14, 8, 18 |
| 7–8 Utility и advanced | 10, 24 |
| 9–11 Модули, декларации, tsconfig | 9, 15, 4 |
| 12 Декораторы | 23 |
| 13–14 DOM, фреймворки | 20, 21, 22 |
| 15–16 Паттерны, практики | 28, 6, 27 |
| 17–18 Инструменты, расширение TS | 3, 4, 15, 16 |
Рекомендуемые маршруты
| Цель | Порядок статей |
|---|---|
| Новичок | intro → 4 → 10 → 11 → 12 → 14 → 17 → 5 |
| Frontend | 4 → 10 → 14 → 17 → 20 → 21 → 6 |
| Backend | 4 → 9 → 10 → 17 → 22 → 27 → 26 (опц.) |
| Инженерия | 3 → 6 → 9 → 15 → 16 → 28 → 24 |
Блок A — старт и экосистема
| № | Статья | Тема |
|---|---|---|
| 1 | Основы языка | карта раздела |
| 2 | Экосистема | monorepo, CI, @types |
| 3 | Первая программа | tsc, dist/ |
| 4 | Простые приложения | практикум |
| 5 | Рекомендации | strict, Zod, миграция |
| 6 | История | контекст языка |
| 7 | Синтаксис | interface vs type |
Блок B — синтаксис и типы
| № | Статья | Тема |
|---|---|---|
| 8 | Подключение | tsconfig, ESM/CJS |
| 9 | Типы | union, narrowing, utility |
| 10 | Переменные | const, readonly |
| 11 | Ветвления | discriminated union |
| 12 | Циклы | for...of, кратко |
| 13 | Функции | overloads, this |
| 14 | Компиляция | tsc, source maps |
| 15 | TypeScript Server | IDE, LSP |
Блок C — ООП, async, события
| № | Статья | Тема |
|---|---|---|
| 16 | Асинхронность | Promise<T>, LoadState |
| 17 | Классы | structural typing |
| 18 | Коллекции | tuple, Map, Record |
| 19 | События | DOM, CustomEvent |
| 20 | Индекс справочника | маршрут к 301 |
Блок D — стек и продвинутое
| № | Статья | Тема |
|---|---|---|
| 21 | TypeScript и React | props, hooks |
| 22 | Node.js | DTO, API |
| 23 | Декораторы | Nest, TypeORM |
| 24 | Дженерики | <T>, constraints |
| 25 | Генераторы | Generator, async iter |
| 26 | TypeORM | entity, repo |
| 27 | Ошибки | Result, unknown |
| 28 | Паттерны | union-команды, factory |
Как устроен раздел
| Слой | Где | Назначение |
|---|---|---|
| Учебные статьи | 5-10-typescript/*.md | объяснение, примеры, практика |
| Обзор в курсе JS | 30 | вход из JavaScript |
| Справочник-шпаргалка | 301 | таблицы, advanced |
| Индекс | 2.md | навигация к 301, не дублирует его |
Завершение раздела
| Материал | Назначение |
|---|---|
| 998 — итоги | FAQ, типичные ошибки |
| 999 — чек-лист | самопроверка перед практикой |
Важно про практику
TypeScript особенно полезен в командах и долгоживущих проектах: типы задают контракт между модулями. Включайте strict с первого дня — рекомендации. Мини-проекты — 5.md.