Table of contents : Пролог Структура книги Стиль От издательства Глава 1. Вступление Глава 2. TypeScript с высоты птичьего полета Компилятор Система типов Настройка редактора кода index.ts Упражнения к главе 2 Глава 3. Подробно о типах О типах Типы от А до Я Итоги Упражнения к главе 3 Глава 4. Функции Объявление и вызов функций Полиморфизм Разработка на основе типов Итоги Упражнения к главе 4 Глава 5. Классы и интерфейсы Классы и наследование super Использование this в качестве возвращаемого типа Интерфейсы Классы структурно типизированы Классы объявляют и значения, и типы Полиморфизм Примеси Декораторы Имитация финальных классов Паттерны проектирования Итоги Упражнения к главе 5 Глава 6. Продвинутые типы Связи между типами Тотальность Продвинутые типы объектов Продвинутые функциональные типы Условные типы Запасные решения Имитация номинальных типов Безопасное расширение прототипа Итоги Упражнения к главе 6 Глава 7. Обработка ошибок Возврат null Выбрасывание исключений Возврат исключений Тип Option Итоги Упражнения к главе 7 Глава 8. Асинхронное программирование, конкурентность и параллельная обработка Цикл событий Работа с обратными вызовами Промисы как здоровая альтернатива async и await Async потоки Типобезопасная многопоточность Итоги Упражнения к главе 8 Глава 9. Фронтенд- и бэкенд-фреймворки Фронтенд-фреймворки Типобезопасные API Бэкенд-фреймворки Итоги Глава 10. Пространства имен и модули Краткая история модулей JavaScript import, export Пространства имен Слияние деклараций Итоги Упражнение к главе 10 Глава 11. Взаимодействие с JavaScript Декларации типов Поэтапная миграция из JavaScript в TypeScript Поиск типов для JavaScript Использование стороннего кода JavaScript Итоги Глава 12. Создание и запуск TypeScript Создание проекта в TypeScript Запуск TypeScript на сервере Запуск TypeScript в браузере Публикация TypeScript кода на NPM Директивы с тремя слешами Итоги Глава 13. Итоги Приложение A. Операторы типов Приложение Б. Утилиты типов Приложение В. Область действия деклараций Генерирует ли декларация тип? Допускает ли декларация слияние? Приложение Г. Правила написания файлов деклараций для сторонних модулей JavaScript Типы экспорта Расширение модуля Приложение Д. Директивы с тремя слешами Внутренние директивы Нежелательные директивы Приложение Е. Флаги безопасности компилятора TSC Приложение Ж. TSX Об авторе