Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Изучаем TypeScript 3

Покупка
Новинка
Артикул: 882740.01.99
Доступ онлайн
990 ₽
В корзину
TypeScript — это и язык, и набор инструментов для генерации кода JavaScript. Язык TypeScript и его компилятор завоевали прочные позиции в сообществе разработчиков на JavaScript и продолжают набирать силу, имея богатый инструментарий разработки. Многие масштабные проекты на JavaScript, в том числе проекты Adobe, Mozilla и Asana, приняли решение перевести свою кодовую базу с JavaScript на TypeScript. Эта книга представляет собой руководство по TypeScript, которое начинается с базовых понятий, а затем представляет более продвинутые возможности языка. Подробно рассказано об использовании TypeScript со множеством современных фреймворков, применяются методы разработки через тестирование, дано много стандартных шаблонов проектирования. Итогом изучения будет полностью готовое к использованию приложение на TypeScript. Издание будет полезно всем разработчикам приложений.
25
62
63
64
74
  Const
80
116
117
155
156
207
208
222
236
260
321
322
365
407
408
464
465
Розенталс, Н. Изучаем TypeScript 3 : практическое руководство / Н. Розенталс. - Москва : ДМК Пресс, 2019. - 625 с. - ISBN 978-5-97060-757-2. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2260374 (дата обращения: 12.10.2026). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Натан Розенталс
Изучаем TypeScript 3
Создавайте промышленные веб-приложения 
корпоративного класса с использованием 
TypeScript 3 и современных фреймворков


Mastering TypeScript 3
Build enterprise-ready, industrial-strength 
web applications using TypeScript 3 and 
modern frameworks
Nathan Rozentals
Third Edition
BIRMINGHAM • MUMBAI 


Изучаем TypeScript 3
Создавайте промышленные веб-приложения 
корпоративного класса с использованием 
TypeScript 3 и современных фреймворков
Натан Розенталс
Москва, 2019 


УДК 004.43
ББК 32.973.3
	
Р64
Р64	
Натан Розенталс
	
Изучаем TypeScript 3. – М.: ДМК Пресс, 2019. – 624 с.
	
ISBN 978-5-97060-757-2
TypeScript – это и язык, и набор инструментов для генерации 
кода JavaScript. Язык TypeScript и его компилятор завоевали прочные позиции в сообществе разработчиков на JavaScript и продолжают набирать силу, имея богатый инструментарий разработки. Многие масштабные проекты на JavaScript, в том числе проекты Adobe, 
Mozilla и Asana, приняли решение перевести свою кодовую базу 
с JavaScript на TypeScript.
Эта книга представляет собой руководство по TypeScript, которое 
начинается с базовых понятий, а затем представляет более продвинутые возможности языка. Подробно рассказано об использовании 
TypeScript со множеством современных фреймворков, применяются методы разработки через тестирование, дано много стандартных шаблонов проектирования. Итогом изучения будет полностью 
готовое к использованию приложение на TypeScript.
Издание будет полезно всем разработчикам приложений.
УДК 004.43
ББК 32.973.3
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами 
без письменного разрешения владельцев авторских прав
Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведе ний. В связи с этимиздательство не несет ответственности за 
возможные ошибки, связанные с использованием книги.
ISBN 978-5-97060-757-2 (рус.)	
Copyright © 2019 Packt. All rights reserved.
ISBN 978-1-78953-670-6 (анг.)	
© Оформление, издание, ДМК Пресс, 2019


Об авторе
Натан Розенталс (Nathan Rozentals) занимается созданием коммерческого программного обеспечения на протяжении более 30 лет. Как и многие программисты 
того времени, он помог спасти мир в 2000 году.
Работая, он пытался освоить множество объектно-ориентированных языков, начиная с простого старого C, переходя на C++, Java, а затем C#. В TypeScript он нашел язык, в который можно привнести все шаблоны объектно-ориентированного 
проектирования и принципы, которые он изучил за годы работы с JavaScript.
Когда он не программирует, он думает о программировании. Чтобы перестать думать о нем, он занимается виндсерфингом, играет в футбол или просто смотрит, 
как в футбол играют профессионалы. Они делают это намного лучше, чем он.
Я хотел бы поблагодарить своего партнера Кэти за то, что была рядом со мной, 
и в горе, и в радости, что научила меня, что значит любовь. Эйрон и Дейна, я 
думаю о вас, ребята, каждый день, и так горжусь каждым из вас. Мэтт, просто 
продолжай быть собой.
Всем в Vix спасибо за то, что сделали работу такой приятной. То, что мы делаем, нелегко, но это стоит того. Я никогда не встречал такого количества талантливых людей, сосредоточенных в одном месте.
О рецензентах
Гаурав Арораа (Gaurav Aroraa) имеет степень магистра компьютерных наук 
и статус MVP, является пожизненным членом Компьютерного общества Индии 
(CSI), консультативным членом IndiaMentor, имеет сертификаты скрам-тренера, 
XEN-библиотеки – фонда инфраструктуры информационных технологий (ITIL-F) 
и сертификаты PRINCE-F и PRINCE-P, заверенные APMG Int. Гаурав – разработчик приложений с открытым исходным кодом и основатель Ovatic Systems. Недавно Гаурав был удостоен награды Иконы года – за выдающиеся достижения в области стартапов в сфере технологии наставничества за 2018–2019 гг. от Radio 
City – по инициативе Jagran за выдающуюся работу в течение 20-летней карьеры 
в отрасли в области технологического наставничества. Вы можете написать Гаураву в Twitter (@g_arora).
Ручитха Сахабанду (Ruchitha Sahabandu) – инженер-программист, технический инструктор и  наставник с  более чем 14-летним опытом проектирования 
и разработки бизнес-приложений и встроенных систем, основанных на платформах JavaScript, JEE, Oracle и технологиях C/C++. Он работал над многими сложными проектами, функционирующими на Agile и TDD, методологиями SDLC в таких 
областях, как автоматизированная система сбора платы за проезд, планирование 
ресурсов, управление цепями поставок и автоматизация производственных площадей для клиентов по всему миру.


В 2006 году он окончил Университет Коломбо, Шри-Ланка, по специальности 
«Компьютерные науки». В настоящее время он живет в Перте, Австралия, и трудится вместе с Натаном Розенталсом над разработкой продукта AFC следующего 
поколения.


Предисловие
19
Глава 1  Инструменты TypeScript и параметры фреймворков
25
Что такое TypeScript?
27
JavaScript и ECMAScript
28
Преимущества TypeScript
29
Компиляция
29
Сильная типизация
30
Синтаксический сахар
31
Определение типов для популярных библиотек JavaScript
32
DefinitelyTyped
33
Инкапсуляция
33
Классы TypeScript генерируют замыкания
35
Методы доступа public и private
35
Интегрированные среды разработки TypeScript
37
Компиляция на основе Node
38
Создание файла tsconfig.json
39
Локализованные сообщения
40
Visual Studio Code
41
Установка VSCode
41
Изучение VSCode
41
Создание файла tasks.json
41
Сборка проекта
44
Создание файла launch.json
44
Установка точек останова
44
Отладка веб-страниц
45
Microsoft Visual Studio
48
Создание проекта в Visual Studio
48
Настройки проекта по умолчанию
50
Отладка в Visual Studio
53
WebStorm
54
Создание проекта в WebStorm
55
Файлы по умолчанию
55
Создание простого HTML-приложения
56
Запуск веб-страницы в Chrome
57
Другие редакторы
59
Использование --watch и Grunt
59
Резюме
62
Глава 2  Типы, переменные и методы функций
63
Базовые типы
64
Типизация в JavaScript
64
Типизация в TypeScript
65
Синтаксис типов
66
Типизация с поддержкой вывода типов
69
Утиная типизация
70


Шаблонные строки
71
Массивы
72
for...in и for...of
73
Тип any
74
Явное приведение типов
75
Перечисления
76
Const enum
77
Строковые перечисления
78
Реализация перечислений
78
Const
80
Ключевое слово let
80
Определенное присваивание
83
Типы свойств с точечной нотацией
84
Числовые разделители
85
Функции
85
Типы возвращаемого значения
85
Анонимные функции
86
Необязательные параметры
87
Параметры по умолчанию
88
Оставшиеся параметры
89
Функции обратного вызова
91
Сигнатуры функций
93
Переопределение функций
95
Try…catch
96
Расширенные типы
97
Объединенные типы
98
Охранники типов
98
Псевдонимы типов
100
Null и undefined
101
Нулевые операнды
103
Never
104
Unknown
105
Object rest and spread
106
Приоритет распространения
107
Использование операторов остатка и распространения с массивами
108
Кортежи
109
Деконструкция кортежей
110
Необязательные элементы кортежа
111
Кортежи и синтаксис оператора остатка
111
Bigint
112
Резюме
116
Глава 3  Интерфейсы, классы и наследование
117
Интерфейсы
118
Необязательные свойства
119
Компиляция интерфейса
120


Слабые типы
120
Вывод типов с помощью оператора in
121
Классы
122
Свойства класса
124
Реализация интерфейсов
124
Конструкторы классов
126
Функции класса
127
Определения функций интерфейса
130
Модификаторы класса
131
Модификаторы доступа конструктора
132
Свойство readonly
134
Методы доступа к свойствам класса
134
Статические функции
136
Статические свойства
136
Пространства имен
137
Наследование
138
Наследование интерфейса
139
Наследование классов
139
Ключевое слово super
140
Переопределение функции
141
Члены класса protected
142
Абстрактные классы
143
Замыкания JavaScript
146
instanceof
148
Использование интерфейсов, классов и наследования –  
шаблон проектирования Factory
150
Бизнес-требования
150
Что делает шаблон проектирования Factory
150
Интерфейс IPerson
151
Класс Person
151
Классы специалистов
152
Класс Factory
153
Использование класса Factory
154
Резюме
155
Глава 4  Декораторы, обобщения и асинхронные функции
156
Декораторы
157
Синтаксис декораторов
158
Несколько декораторов
159
Фабрика декораторов
159
Параметры декораторов класса
160
Декораторы свойств
162
Декораторы статических свойств
163
Декораторы методов
164
Использование декораторов методов
165
Декораторы параметров
167


Метаданные декораторов
168
Использование метаданных декораторов
170
Обобщения
171
Синтаксис обобщений
172
Создание экземпляра обобщенного класса
172
Использование типа T
174
Ограничение типа Т
176
Обобщенные интерфейсы
178
Создание новых объектов в обобщениях
179
Расширенные типы с обобщениями
181
Условные типы
182
Распределенные условные типы
185
Выведение условных типов
187
keyof
189
keyof с числом
190
Отображаемые типы
192
Partial, Readonly, Record и Pick
193
Асинхронное программирование
195
Промисы
195
Синтаксис промисов
197
Использование промисов
199
Механизм обратного вызова в сравнении с синтаксисом промиса
200
Возвращение значений из промисов
201
async и await
203
awaitError
204
Синтаксис промиса в сравнении с синтаксисом async await
205
awaitMessage
206
Резюме
207
Глава 5  Файлы объявлений и строгие опции компилятора
208
Глобальные переменные
209
Использование блоков кода JavaScript в HTML
211
Структурированные данные
212
Пишем свой файл объявлений
214
Ключевое слово module
216
Интерфейсы
218
Объединенные типы
220
Слияние модулей
221
Справочник синтаксиса объявлений
222
Переопределение функций
222
Синтаксис JavaScript
222
Синтаксис файла объявлений
223
Вложенные пространства имен
223
Синтаксис JavaScript
223
Синтаксис файла объявлений
223


Доступ онлайн
990 ₽
В корзину