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

О разделе

TypeScript — это JavaScript с проверкой типов до запуска. Вы пишете файлы .ts, компилятор tsc сверяет код с контрактами и выдаёт обычный JavaScript. В браузере и Node.js выполняется только JS; подсказки вроде name: string в итоговый файл не попадают.

Раздел ведёт от типов и первой программы до TypeScript и React, Node.js и паттернов.

Сначала: Что такое код и как он работает — компиляция, интерпретация, исходный код. Для сравнения динамической типизации — типы в JavaScript. Если статическая типизация знакома по C# — полезно свериться с типами в C#.

TypeScript ≠ отдельная среда выполнения

TS не заменяет JavaScript в браузере. Аннотации типов исчезают при компиляции — в dist/ остаётся JS. Подробнее — архитектура компиляции и первая программа.

Связь с JavaScript

Изучайте JavaScript как базу (синтаксис, Promise, модули), затем переходите сюда за типами, tsconfig и практикой крупных проектов. Event loop и async в JS — асинхронность JS; типизация Promise — async в TypeScript.


Карта ключевых тем

ТемаСтатья
Что такое TypeScript, надмножество JSintro, история, типы §введение
Сравнение JavaScript и TypeScriptСравнение JS и TS
Проблемы JavaScript и роль TypeScriptистория, сравнение JS и TS, типы и типизация
Статическая типизация, типобезопасностьТипы и типизация, рекомендации
Утиная и структурная типизацияТипы и типизация, классы
Проектирование типов, LSP (Лисков)типы §проектирование, Паттерны
Типы и значения, примитивы, enum, tupleТипы и типизация, коллекции
Вывод типов, слишком широкий тип, narrowingТипы §inference, §narrowing, переменные
any / unknown, утверждения, @ts-expect-errorТипы §any и unknown, ветвления §утверждения, рекомендации
as const, satisfies, template literal typesТипы §as const, дженерики §template
Discriminated union, boolean и unionТипы §discriminated, ветвления
interface и type, import typeсинтаксис
Функции: RORO, возвращаемый типфункции
Неизменяемость, readonlyпеременные, типы §опциональность
Организация файлов в проектерекомендации, экосистема
Обязательны ли аннотации let x: Tпеременные
Проверка только на этапе TSКомпиляция
Type-driven developmentрекомендации, функции
Компилятор, TypeScript 7 (Go), --checkers, TypeScript ServerКомпиляция, TypeScript Server
React / Node.jsTypeScript и React, TypeScript и Node.js
Дженерики, Omit, keyof, literal union, связанный выбордженерики, Типы и типизация
Exclude / Extract, сужение по группам (Compat)типы §utility, 24 §Compat
Mapped types, PayloadMap[E], webhooks24 §сопоставленные, Паттерны в TypeScript
tsx, сборка TS для GitHub PagesПервая программа на TypeScript, Экосистема и архитектура TypeScript
Декораторы, примеси, паттерныДекораторы в TypeScript, Паттерны в TypeScript
Миграция, monorepo, DefinitelyTypedРекомендации по разработке на TypeScript, Экосистема и архитектура TypeScript, Форматы и подключение TypeScript
Async, генераторы, TypeORM, практикумАсинхронное программирование в TypeScript, Генераторы и итераторы в TypeScript, TypeORM, Простые приложения на TypeScript

Полная нумерованная карта блоков — в Основы TypeScript и структура языка. Соответствие 18 разделам справочника 301 (основы типизации … расширение TS) — в индексе справочника.


С чего начать

Play ITЗагрузка интерактивного демо…

Play ITЗагрузка интерактивного демо…

Play ITЗагрузка интерактивного демо…

ШагМатериалНазначение
1Основы и карта разделаПолный маршрут по темам
1aСравнение JS и TSКогда что выбирать, плюсы и минусы
2Первая программаnpm, tsc, первый dist/
3Типы и типизацияЯдро языка — контракты данных
4Рекомендацииstrict, unknown, CI
5Простые приложенияМини-проекты
6AsyncPromise<T>, состояния UI
7TypeScript и React или Node.jsПрикладной стек

Что входит в раздел

Раздел проходит путь от синтаксиса и типов через функции, классы и коллекции к компиляции, tsserver и экосистеме. Прикладной блок — TypeScript и React, Node.js, TypeORM, Паттерны и Обработка ошибок. Навигация по таблицам — индекс и справочник 301; в конце — итоги и чек-лист.


Где применяют TypeScript

ОбластьПримеры
FrontendReact, Vue, Angular, Next.js, SvelteKit
BackendNode.js, NestJS, Express + TS
Mobile / desktopReact Native, Ionic, Electron
ИнструментыVS Code, часть CLI и сборщиков

Частые ошибки при старте

ОшибкаЧто делать
Путать TS с отдельным runtimeTS компилируется в JS — см. Архитектура компиляции TypeScript и runtime
Игнорировать ошибки компилятораИсправлять; не отключать strict без причины — Рекомендации по разработке на TypeScript
Везде anyunknown + проверки; типы API в types/Типы данных и типизация в TypeScript
Учить TS без JSСначала база JavaScript
Дублировать справочник в головеУчёба — статьи раздела; таблицы — Справочник по TypeScript