Программирование на TypeScript — Boris Cherny — обложка книги
326 страниц
TypeScript
PDF
4.5

Программирование на TypeScript

Полное руководство по TypeScript от Бориса Черни

Автор:

Год:

Краткое содержимое:

Введение

Книга «Programming TypeScript» (в русском переводе — «Программирование на TypeScript») авторства Бориса Черни вышла в 2019 году и мгновенно стала одним из самых авторитетных руководств по языку TypeScript. Борис Черни — инженер, работавший в Facebook и над проектом Flow, а также активный участник сообщества TypeScript. Его книга не просто знакомит с синтаксисом, а учит мыслить в терминах типов и строить надёжные, масштабируемые приложения. На страницах 326 страниц автор умудряется охватить как основы, так и глубокие темы вроде условных типов, ковариантности и контравариантности, что делает её уникальной среди множества поверхностных туториалов.

О чём книга

Книга разделена на три логические части. Первая часть знакомит с основами: настройка окружения, базовые типы, функции, интерфейсы и классы. Вторая часть — сердце книги — посвящена продвинутой системе типов: дженерики, условные типы, mapped types, вывод типов, а также работа с ошибками и исключениями. Третья часть охватывает практическое применение TypeScript в реальных проектах: интеграция с React, Angular, Node.js, работа с библиотеками без типов (через ambient declarations), а также советы по рефакторингу и тестированию. Отдельная глава посвящена декораторам и их использованию в фреймворках.

Для кого эта книга

Книга рассчитана на разработчиков, уже знакомых с JavaScript (ES6+), которые хотят перейти на TypeScript или углубить свои знания. Она будет полезна как новичкам, которые только начинают использовать TypeScript, так и опытным инженерам, желающим разобраться в сложных механизмах системы типов. Если вы пишете на Python и хотите понять, как статическая типизация может улучшить ваш код (особенно в контексте TypeScript), книга также будет хорошим введением, хотя потребует знания JavaScript.

Что узнает читатель

  • Основы TypeScript: установка, компиляция, tsconfig, базовые типы (number, string, boolean, null, undefined, void, never, any, unknown).
  • Интерфейсы и типы: разница между interface и type, расширение, объединение, пересечение типов.
  • Функции: типизация параметров, возвращаемых значений, перегрузка функций, this в TypeScript.
  • Классы и ООП: модификаторы доступа, абстрактные классы, наследование, миксины.
  • Дженерики: обобщённые функции, классы, интерфейсы, ограничения (extends), conditional types, infer.
  • Продвинутые типы: mapped types, keyof, typeof, lookup types, template literal types.
  • Типизация стороннего кода: создание declaration файлов (.d.ts), работа с DefinitelyTyped, ambient modules.
  • Интеграция с фреймворками: React (hooks, props, children), Angular (сервисы, компоненты, DI), Node.js (middleware, Express).
  • Декораторы: class, method, property, parameter decorators — теория и примеры.
  • Тестирование и отладка: unit-тесты с Jest, отладка типов, common pitfalls.

Сильные стороны

Первое, что бросается в глаза — глубина подачи материала. Автор не просто перечисляет возможности языка, а объясняет, почему та или иная конструкция работает именно так, какие компромиссы существуют и как избежать типичных ошибок. Второе — практическая направленность: каждая глава содержит примеры кода, которые можно сразу применить в работе. Третье — структура: от простого к сложному, с чёткими переходами и резюме в конце глав. Четвёртое — актуальность: несмотря на 2019 год, книга охватывает версию TypeScript 3.x, но большинство концепций (условные типы, mapped types, infer) остаются фундаментальными и в современных версиях (4.x, 5.x). Пятое — стиль: Борис пишет живым, увлекательным языком, с долей юмора, что делает чтение приятным.

Кому рекомендуется

Книга будет полезна всем, кто профессионально занимается фронтенд- или бэкенд-разработкой на JavaScript и хочет повысить надёжность кода. Особенно рекомендую её тимлидам и архитекторам, которые внедряют TypeScript в команде: вы найдёте аргументы для коллег и готовые паттерны. Также книга подойдёт студентам и джуниорам, которые уже освоили JavaScript и хотят сделать следующий шаг. Если вы пишете на Python и интересуетесь статической типизацией, книга даст понимание, как типы работают в другом контексте, но будьте готовы к тому, что примеры кода на JavaScript/TypeScript.

В целом, «Programming TypeScript» — это не просто учебник, а настольная книга для любого разработчика, который хочет по-настоящему разобраться в TypeScript. Она стоит на одной полке с классическими работами по языкам программирования и остаётся актуальной даже спустя годы после выхода.

Рекомендаций