Перейти к основному содержимому

TypeScript — чек-лист

Разработчику Архитектору

Дальше: Итоги и FAQ · Карта раздела

Загрузка вопросов…

Чек-лист самопроверки

Итоговая самопроверка по разделу — только в этой статье; в остальных главах остаются упражнения без дублирующих формулировок «готово, если…».

Пройдите блоки по порядку. Не отвечаете за минуту — откройте статью по ссылке.


Основы и экосистема

  1. Чем TypeScript отличается от JavaScript в runtime? → intro, 15
  2. Что делает tsc и куда деваются типы? → 15, 4
  3. Роль tsconfig.json и флага strict? → 9, 6
  4. Что такое tsserver и workspace version TS? → 16
  5. Проверка типов (npm run typecheck) в CI? → 3
  6. Где таблицы синтаксиса, а где учебные статьи? → 2, 301
  7. Знаете карту 18 блоков 301 (§1–§18)? → 2

Блоки справочника 301 (§1–§18)

  1. §1 Основы типизации, §2 Составные? → 10, 19
  2. §3 Union/intersection, §4 Функции? → 10, 14
  3. §5 Интерфейсы, §6 Классы? → 8, 18
  4. §7 Utility, §8 Advanced? → 10, 24
  5. §9 Модули/namespace, §10 Декларации? → 9, 15
  6. §11 tsconfig, §12 Декораторы? → 9, 23
  7. §13 DOM, §14 Фреймворки? → 20, 21/22
  8. §15 Паттерны, §16 Практики? → 28, 6
  9. §17 CLI, §18 Расширение TS? → 4, 16

Типы и синтаксис

  1. Примитивы и специальные типы (unknown, never)? → 10
  2. Чем any хуже unknown? → 10, 6
  3. Union, intersection, discriminated union? → 10, 12
  4. interface vs type? → 8
  5. Narrowing: typeof, in, switch? → 12
  6. readonly, optional ?, деструктуризация? → 11
  7. Partial, Pick, Omit, Exclude, satisfies? → 10 23a. Exclude / Extract для union ответов API? → 10 §Exclude
  8. Импорт только типов (import type)? → 8
  9. Зачем TS, если типы не в runtime? → 10, 15
  10. Утиная vs структурная типизация? → 10
  11. Типобезопасность и LSP (Лисков) в TS? → 10
  12. Обязательна ли запись let x: T? → 11
  13. DefinitelyTyped и @types/*? → 3
  14. Транспиляция vs проверка типов? → 15
  15. Нативный компилятор Go (7.x)? → 15, 7

Код: переменные, функции, ООП

  1. const по умолчанию, когда let? → 11
  2. Как типизировать функцию и callback? → 14
  3. Перегрузки (overloads)? → 14
  4. Структурная типизация? → 10, 18
  5. private vs # в классе? → 18
  6. Array, tuple, Record, Map, Set? → 19
  7. Циклы: for...of vs for...in? → 13
  8. Примеси (mixins) vs композиция? → 28

Async, ошибки, продвинутое

  1. Promise<T> и async return type? → 17
  2. LoadState union для UI? → 17, 21
  3. Result vs throw, unknown в catch? → 27
  4. Дженерики <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: number vs Node Timeout, ReturnType? → 17
  5. Декораторы — когда да / нет? → 23
  6. Generator / for await...of? → 25
  7. Паттерны: command union, factory, mixins? → 28

Прикладное

  1. React: props, useState, события форм? → 21
  2. Node: DTO, guard тела запроса, слои? → 22
  3. DOM-события и CustomEvent? → 20
  4. TypeORM: entity vs DTO? → 26
  5. Monorepo: tsc -b, references, публикация NPM? → 3, 9

Практика перед сдачей раздела

  1. Собрали первую программу и запустили dist/?
  2. Сделали минимум один проект из простых приложений?
  3. Включили strict и прогнали tsc --noEmit без новых any?
  4. Прочитали FAQ и закрыли слабые пункты этого чек-листа?
  5. Понимаете, куда смотреть в 301, не заучивая его наизусть?

Готово, если на пункты 1–51 отвечаете своими словами, а пункты 52–56 выполнены на реальном коде.


Полный справочник

Учебный вход — карта. Таблицы и advanced — 301. Индекс без дублирования — 2.md.