Любой программист, работающий с языком с динамической типизацией, подтвердит, что задача масштабирования кода невероятно сложна и требует большой команды инженеров. Вот почему Facebook, Google и Microsoft придумали статическую типизацию для динамически типизированного кода.
Работая с любым языком программирования, мы отслеживаем исключения и вычитываем код строку за строкой в поиске неисправности и способа ее устранения. TypeScript позволяет автоматизировать эту неприятную часть процесса разработки.
TypeScript, в отличие от множества других типизированных языков, ориентирован на прикладные задачи. Он вводит новые концепции, позволяющие выражать идеи более кратко и точно, и легко создавать масштабируемые и безопасные современные приложения.
Борис Черный помогает разобраться со всеми нюансами и возможностями TypeScript, учит устранять ошибки и масштабировать код.
Author(s): Борис Черный
Series: Бестселлеры O’Reilly
Edition: 1
Publisher: Питер
Year: 2021
Language: Russian
Commentary: Vector PDF
Pages: 352
City: СПб.
Tags: Programming; JavaScript; Web Applications; Concurrency; Asynchronous Programming; Parallel Programming; Object-Oriented Programming; TypeScript; Error Handling; Polymorphism; Frontend Development; Type-Driven Development
Пролог
Структура книги
Стиль
От издательства
Глава 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
Об авторе