TypeScript — чек-лист
Дальше: Итоги и FAQ · Карта раздела
Чек-лист самопроверки
Итоговая самопроверка по разделу — только в этой статье; в остальных главах остаются упражнения без дублирующих формулировок «готово, если…».
Пройдите блоки по порядку. Не отвечаете за минуту — откройте статью по ссылке.
Основы и экосистема
- Чем TypeScript отличается от JavaScript в runtime? → intro, 15
- Что делает
tscи куда деваются типы? → 15, 4 - Роль
tsconfig.jsonи флагаstrict? → 9, 6 - Что такое
tsserverи workspace version TS? → 16 - Проверка типов (
npm run typecheck) в CI? → 3 - Где таблицы синтаксиса, а где учебные статьи? → 2, 301
- Знаете карту 18 блоков 301 (§1–§18)? → 2
Блоки справочника 301 (§1–§18)
- §1 Основы типизации, §2 Составные? → 10, 19
- §3 Union/intersection, §4 Функции? → 10, 14
- §5 Интерфейсы, §6 Классы? → 8, 18
- §7 Utility, §8 Advanced? → 10, 24
- §9 Модули/namespace, §10 Декларации? → 9, 15
- §11 tsconfig, §12 Декораторы? → 9, 23
- §13 DOM, §14 Фреймворки? → 20, 21/22
- §15 Паттерны, §16 Практики? → 28, 6
- §17 CLI, §18 Расширение TS? → 4, 16
Типы и синтаксис
- Примитивы и специальные типы (
unknown,never)? → 10 - Чем
anyхужеunknown? → 10, 6 - Union, intersection, discriminated union? → 10, 12
interfacevstype? → 8- Narrowing:
typeof,in,switch? → 12 readonly, optional?, деструктуризация? → 11Partial,Pick,Omit,Exclude,satisfies? → 10 23a.Exclude/Extractдля union ответов API? → 10 §Exclude- Импорт только типов (
import type)? → 8 - Зачем TS, если типы не в runtime? → 10, 15
- Утиная vs структурная типизация? → 10
- Типобезопасность и LSP (Лисков) в TS? → 10
- Обязательна ли запись
let x: T? → 11 - DefinitelyTyped и
@types/*? → 3 - Транспиляция vs проверка типов? → 15
- Нативный компилятор Go (7.x)? → 15, 7
Код: переменные, функции, ООП
constпо умолчанию, когдаlet? → 11- Как типизировать функцию и callback? → 14
- Перегрузки (overloads)? → 14
- Структурная типизация? → 10, 18
privatevs#в классе? → 18Array, tuple,Record,Map,Set? → 19- Циклы:
for...ofvsfor...in? → 13 - Примеси (mixins) vs композиция? → 28
Async, ошибки, продвинутое
Promise<T>иasyncreturn type? → 17LoadStateunion для UI? → 17, 21Resultvsthrow,unknownвcatch? → 27- Дженерики
<T>,keyof,Omit? → 24 43a. Связанные generic (T extends Compat<F>),Path/PathType? → 24 43b.PayloadMap[E], webhook handlers? → 24 §сопоставленные 43c. Labeled tuples, фиксированная длина? → 19 43d.setTimeout:numbervs NodeTimeout,ReturnType? → 17 - Декораторы — когда да / нет? → 23
Generator/for await...of? → 25- Паттерны: command union, factory, mixins? → 28
Прикладное
- React: props,
useState, события форм? → 21 - Node: DTO, guard тела запроса, слои? → 22
- DOM-события и
CustomEvent? → 20 - TypeORM: entity vs DTO? → 26
- Monorepo:
tsc -b, references, публикация NPM? → 3, 9
Практика перед сдачей раздела
- Собрали первую программу и запустили
dist/? - Сделали минимум один проект из простых приложений?
- Включили
strictи прогналиtsc --noEmitбез новыхany? - Прочитали FAQ и закрыли слабые пункты этого чек-листа?
- Понимаете, куда смотреть в 301, не заучивая его наизусть?
Готово, если на пункты 1–51 отвечаете своими словами, а пункты 52–56 выполнены на реальном коде.
Полный справочник
Учебный вход — карта. Таблицы и advanced — 301. Индекс без дублирования — 2.md.