Справочник по TypeScript
Краткий индекс учебного раздела 5-10-typescript. Пошаговое обучение — карта и О разделе. Таблицы синтаксиса — в справочнике 301; здесь — куда идти за объяснением и практикой по каждому из 18 блоков 301.
Учебные статьи (5-10-typescript/*.md) — примеры, «Разбор:», практика.
Справочник 301 — таблицы, полный перечень флагов tsconfig, advanced-типы без дублирования в каждой статье.
Карта: 18 блоков справочника 301
Рекомендуемый порядок по блокам 301
| Этап | Блоки 301 | Статьи |
|---|---|---|
| Старт | 1, 11, 17 | 4 → 10 → 9 |
| Синтаксис типов | 2, 3, 4, 5 | 19, 14, 8 |
| ООП | 6, 7 | 18, 10 |
| Продвинутое | 8, 12 | 24, 23 |
| Прикладное | 9, 10, 13, 14 | 9, 20, 21 или 22 |
| Инженерия | 15, 16, 18 | 28, 6, 16 |
Мини-шпаргалка
interface User {
id: string;
name: string;
role: "admin" | "user";
}
// Union и narrowing
type Id = string | number;
function isString(x: Id): x is string {
return typeof x === "string";
}
function formatId(id: Id): string {
if (isString(id)) return id.toUpperCase();
return id.toFixed(0);
}
// Utility
type PartialUser = Partial<Pick<User, "name">>;
type PublicUser = Omit<User, "role">;
// Generic
function first<T>(arr: T[]): T | undefined {
return arr[0];
}
const admin = first<User>([{ id: "1", name: "Ann", role: "admin" }]);
Разбор:
interface User— контракт объекта;role— literal union.isString— type predicate для narrowing.Partial<Pick<…>>,Omit— utility types (Справочник — утилитарные типы).first<User>(…)— generic с сохранением типа элемента.
Официальные источники
- TypeScript Handbook
- TSConfig Reference
- TypeScript Playground
- Обзор в JS-курсе: 30, таблицы: 301