Основы TypeScript
Фримен Адам
Код товара: 5066330
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
Издательство:
Год издания:
2025
Cерия:
Описание
Характеристики
TypeScript - популярная надстройка над JavaScript с поддержкой статической типизации, которая наверняка покажется знакомой программистам на C# или Java. TypeScript поможет вам сократить количество ошибок и повысить общее качество кода на JavaScript.
"Основы TypeScript" - это полностью обновленное третье издание классического бестселлера Адама Фримена. В нем освещены все возможности TypeScript 5, включая новые, такие как декораторы. Сначала вы узнаете, зачем и почему был создан язык TypeScript, а затем почти сразу перейдете к практическому применению статических типов. Ничего лишнего! Каждая глава посвящена навыкам, необходимым для написания потрясающих веб-приложений.
"Основы TypeScript" - это полностью обновленное третье издание классического бестселлера Адама Фримена. В нем освещены все возможности TypeScript 5, включая новые, такие как декораторы. Сначала вы узнаете, зачем и почему был создан язык TypeScript, а затем почти сразу перейдете к практическому применению статических типов. Ничего лишнего! Каждая глава посвящена навыкам, необходимым для написания потрясающих веб-приложений.
код в Майшоп
5066330
возрастная категория
18+ (нет данных)
количество томов
1
ISBN
978-5-4461-2215-8
вес
890 г
размеры
235x170x30 мм
Содержание
Предисловие
О книге
Кому стоит прочитать эту книгу
Структура издания
О коде
Об авторе
О научном редакторе
Иллюстрация на обложке
От издательства
Глава 1. Общая информация
1.1. Стоит ли использовать TypeScript
1.1.1. Чем полезен TypeScript для повышения
производительности разработчиков
1.1. 2 . Особенности версий JavaScript
1. 2 . Что нужно знать
1. 3 . Как настроить среду разработки
1. 4 . Какова структура этой книги
1. 5 . Много ли примеров?
1. 6 . Где можно получить код примера
1. 7 . Что делать, если у вас возникли проблемы с
выполнением примеров.
1 7 1 Что делать, если вы обнаружили
ошибку в книге
1. 8 . Как связаться с автором
1. 9 . Если вам понравилась эта книга
1.10 . Если вам не понравилась эта книга
Резюме
Часть I. Начало работы с TypeScript
Глава 2. Ваше первое приложение на TypeScript
2.1. Первые шаги
2.1.1. Установка Node .js
2.1. 2 . Установка Git
2.1.3 . Установка TypeScript
2.1.4 . Установка текстового редактора кода
2.2 . Создание проекта
2.2.1. Инициализация проекта
2.2.2 . Создание файла конфигурации
компилятора
2.2 . 3 . Добавление файла с кодом TypeScript
2.2 .4 . Компиляция и выполнение кода
2.2.5 . Определение модели данных
2.2.6 . Добавление функций в класс коллекции
2 . 3 . Использование пакетов сторонних
производителей
2 .3.1. Подготовка к работе со сторонним
пакетом
2 .3.2 . Установка и использование
сторонних пакетов
2 .3 .3 . Добавление деклараций типов для
пакета JavaScript
2 .4 . Добавление команд
2 .4.1. Фильтрация элементов
2 .4.2 . Добавление задач
2 .4 .3 . Отметка о выполнении задачи
2 5 Постоянное хранение данных Резюме
Глава 3. Обзор JavaScript, часть 1
3 1 Первоначальные приготовления
3.2 . Запутанный JavaScript
3 . 3 . Типы данных в JavaScript
3 3 1 Работа с примитивными типами данных
3 .3.2 . Приведение типа
3 .3 .3 . Работа с функциями
3 .4 . Работа с массивами
3 . 4.1. Оператор расширения spread для
массивов
3 .4.2 . Деструктуризация массивов
3.5 . Работа с объектами
3.5.1. Добавление, изменение и удаление
свойств объекта
3.5.2 . Использование операторов spread и rest
для объектов
3.5 .3 . Определение геттеров и сеттеров
3.5 .4 . Определение методов
3.6 . Ключевое слово this
3.6 .1. Ключевое слово this в автономных
функциях
3 6 2 Ключевое слово this в методах
3.6.3 . Изменение поведения ключевого слова
this
3 6 4 Ключевое слово this в стрелочных
функциях
3.6.5 . Возвращаясь к исходной проблеме
Резюме
Глава 4. Обзор JavaScript, часть 2
4.1. Первоначальные приготовления
4.2 . Наследование объектов в JavaScript
4.2.1. Проверка и изменение прототипа объекта
4.2.2 . Пользовательские прототипы
4.2 .3 . Функции-конструкторы
4.2 .4 . Цепочка функций-конструкторов
4.2.5 . Проверка типов прототипов
4.2.6 . Определение статических свойств и
методов
4.2.7 . Классы в JavaScript
4 3 Итераторы и генераторы
4 3 1 Использование генератора
4 3 2 Определение итерируемых объектов 4
4 Коллекции в JavaScript
4 . 4.1. Хранение данных по ключу с
использованием объекта . . . .
4 .4.2 . Хранение данных по ключу с
использованием map
4 .4 .3 . Использование символов для
ключей map
4 4 4 Хранение данных по индексу
4.5 . Модули
4.5.1. Объявление типа модуля
4.5.2 . Создание модуля JavaScript
4.5 .3 . Использование модуля JavaScript
4.5 . 4 . Экспорт именованных функций из
модуля
4.5.5 . Определение нескольких именованных
функций в модуле . . .
Резюме
Глава 5. Компилятор TypeScript
5.1. Первоначальные приготовления
5 2 Структура проекта
5 .3 . Менеджер пакетов Node
5 . 4 . Файл конфигурации компилятора
5.5 . Компиляция TypeScript-кода
5.5.1. Об ошибках компилятора
5 5 2 Режим отслеживания и выполнение
скомпилированного кода
5.6 . Функция выбора целевой версии
5.7 . Установка файлов библиотек для
компиляции
5 .8 . Выбор формата модуля
5 8 1 Указание формата модуля
5 .9 . Полезные параметры конфигурации
компилятора
Резюме
Глава 6. Тестирование и отладка TypeScript
6 .1. Первоначальные приготовления
6.2 . Отладка TypeScript-кода
6.2.1. Подготовка к отладке
6.2.2 . Использование Visual Studio Code для
отладки
6.2 . 3 . Использование встроенного
отладчика Node .js
6.2 .4 . Функция удаленной отладки Node .js
6.3 . Линтер TypeScript
6.3.1. Отключение правил линтера
6.4 . Модульное тестирование TypeScript
6.4.1. Настройка тестового фреймворка
6 4 2 Создание модульных тестов
6.4 .3 . Запуск тестового фреймворка
Резюме
Часть II. Возможности TypeScript
Глава 7. Статические типы
7.1. Первоначальные приготовления
7 2 Статические типы
7.2.1. Создание статического типа с помощью
аннотации типа .
7.2.2 . Использование неявно определенных
статических типов
7.2 .3 . Тип any
7 .3 . Объединения типов
7 .4 . Утверждения типа
7 .4.1. Утверждение к неожиданному типу
7.5 . Защита типа
7.5.1. Тип never
7.6 . Тип unknown
7.7 . Тип NULL
7.7.1. Ограничение присвоений значения null
7 7 2 Удаление null из объединения с помощью
утверждения
7 7 3 Удаление null из объединения с помощью
защиты типа 7 7 4 Утверждение определения
присваивания Резюме
Глава 8. Функции
8 1 Первоначальные приготовления
8.2 . Определение функций
8.2.1. Переопределение функций
8.2.2 . Параметры функций
8.2 . 3 . Результаты функции
8.2 .4 . Перегрузка типов функций
8.2.5 . Функции утверждения
Резюме
Глава 9. Массивы, кортежи и перечисления
9.1. Первоначальные приготовления
9 2 Работа с массивами
9.2.1. Вывод типов массивов
9.2.2 . Проблемы при выводе типов массивов
9.2 .3 . Проблемы с пустыми массивами
9 . 3 . Кортежи
9 . 3.1. Обработка кортежей
9 . 3.2 . Использование типов кортежей
9 . 3 . 3 . Кортежи с необязательными элементами
9 .3 .4 . Определение кортежей с rest-элементами
9 .4 . Перечисления
9 . 4.1. Принцип работы перечислений
9 .4.2 . Строковые перечисления
9 .4 .3 . Ограничения перечислений
9.5 . Типы с литеральным значением
9.5.1. Типы с литеральным значением в
функциях
9.5.2 . Смешивание типов значений в типе с
литеральным значением .
9.5 . 3 . Переопределения типов с
литеральными значениями
9.5 .4 . Шаблонный литеральный строковый
тип
9.6 . Псевдонимы типов
Резюме
Глава 10. Объекты
10.1. Первоначальные приготовления
10 2 Работа с объектами
10.2.1. Использование аннотаций структуры типа
объекта
10.2.2 . О соответствии структур типов
10.2 .3 . Использование псевдонимов типов
для структур типов . . . .
10.2 .4 . Объединения структур типов
10.2.5 . Объединение типов свойств
10.2.6 . Защита типов для объектов
10 3 Пересечения типов
10.3.1. Использование пересечений для
сопоставления данных. . . .
10.3.2 . Объединение пересечений
Резюме
Глава 11. Работа с классами и интерфейсами
11 1 Подготовка к изучению главы
11. 2 . Функции-конструкторы
11 3 Классы
11 .3.1. Управление доступом с помощью
ключевых слов
11 . 3.2 . Приватные поля в JavaScript
11 . 3 . 3 . Определение свойств, доступных только
для чтения . .
11 . 3 . 4 . Упрощение конструкторов классов
11 . 3.5 . Определение аксессоров
11 . 3.6 . Автоаксессоры
11 . 3.7 . Наследование классов
11 . 3 . 8 . Абстрактные классы
11.4 . Использование интерфейсов
11 .4.1. Реализация нескольких интерфейсов
11 . 4.2 . Расширение интерфейсов
11 . 4 . 3 . Необязательные свойства и методы
интерфейса
11 . 4 . 4 . Определение реализации абстрактного
интерфейса . . .
11 . 4.5 . Защита типа интерфейса
11. 5 . Динамическое создание свойств
11.5.1. Включение проверки значения индекса
Резюме
Глава 12. Обобщенные типы
12.1. Первоначальные приготовления
12 2 Проблемы, решаемые обобщенными
типами
12.2.1. Добавление поддержки другого типа
12 .3 . Создание обобщенных классов
12 .3.1. Аргументы обобщенных типов
12 .3.2 . Использование аргументов различных
типов
12 .3 .3 . Ограничение значений обобщенных типов
12 .3 .4 . Определение нескольких параметров
типа
12 .3.5 . Разрешение компилятору выводить
аргументы типа . .
12 .3.6 . Расширение обобщенных классов
12 .3.7 . Защита обобщенных типов
12 .3 .8 . Определение статического метода в
обобщенном классе
12 4 Определение обобщенных интерфейсов
12 .4.1. Расширение обобщенных интерфейсов
12 .4.2 . Реализация обобщенного интерфейса
Резюме
Глава 13. Расширенные возможности обобщенных
типов
13.1. Первоначальные приготовления
13.2 . Использование обобщенных коллекций
13 . 3 . Использование обобщенных
итераторов
13.3.1. Объединение итерируемого и итератора
13.3.2 . Создание итерируемого класса
13 . 4 . Индексные типы
13.4.1. Запрос индексного типа
13.4.2 . Явное указание параметров обобщенных
типов
для индексных типов
13.4 .3 . Оператор индексированного доступа
13.4 . 4 . Использование индексного типа для
класса collection<t>. . . .
13.5 . Сопоставление типа
13.5.1. Изменение имен и типов сопоставления
13.5.2 . Параметр обобщенного типа с
сопоставленным типом
13.5 .3 . Изменение обязательности и
изменчивости свойств
13.5 .4 . Основные встроенные сопоставления
13.5.5 . Комбинирование преобразований в
одном сопоставлении . . .
13.5.6 . Создание типов с помощью
сопоставления типов
13.6 . Условные типы
13.6 .1. Вложенные условные типы
13.6.2 . Условные типы в обобщенных классах
13.6.3 . Использование условных типов в
объединениях типов
13.6.4 . Использование условных типов в
сопоставлениях типов . . . .
13.6.5 . Определение свойств конкретного типа
13.6.6 . Вывод дополнительных типов в
условиях
Резюме
Глава 14. Декораторы
14.1. Первоначальные приготовления
14.2 . Что такое декораторы
14.2.1. Использование контекстных данных
декоратора
14.2.2 . Использование определенных типов в
декораторе
14 . 3 . Другие типы декораторов
14.3.1. Декоратор класса
14.3.2 . Декораторы полей
14.3 . 3 . Декораторы аксессоров
14.3 .4 . Декораторы автоаксессоров
14 .4 . Передача дополнительного аргумента
декоратору
14.5 . Применение нескольких декораторов
14.6 . Инициализаторы
14.7 . Накопление данных о состоянии
Резюме
Глава 15. Работа с JavaScript
15 1 Первоначальные приготовления
15 .1.1. Добавление кода TypeScript в проект
примера
15.2 . Работа с JavaScript
15.2.1. Включение JavaScript в процесс
компиляции
15.2.2 . Проверка типа JavaScript-кода
15 .3 . Описание типов, используемых в коде
JavaScript
15.3.1. Использование комментариев для
описания типов
15.3.2 . Файлы деклараций типов
15.3 .3 . Описание стороннего JavaScript-кода
15.3 .4 . Использование файлов деклараций
проекта Definitely Typed
15.3.5 . Использование пакетов, включающих
декларации типов . . .
15 .4 . Генерация файлов деклараций
Резюме
Часть III. Создание веб-приложений на основе
TypeScript
Глава 16. Создание автономного веб-приложения,
часть 1
16 .1. Первоначальные приготовления
16.2 . Создание инструментария
16.3 . Добавление сборщика
16.4 . Добавление веб-сервера разработки
16.5 . Создание модели данных
16.5.1. Создание источника данных
16.6 . Отображение HTML-контента с
использованием DOM API
16.6 .1. Добавление поддержки стилей CSS
Bootstrap
16.7 . Использование JSX для создания HTML-
контента
16.7.1. Как устроен рабочий процесс с JSX
16.7.2 . Настройка компилятора и загрузчика
16.7 .3 . Создание фабричной функции
16.7 .4 . Использование класса JSX
16.7.5 . Импорт фабричной функции в класс JSX
16.8 . Добавление функций в приложение
16.8.1. Отображение отфильтрованного списка
товаров
16.8.2 . Отображение содержимого и обработка
обновлений
Резюме
Глава 17. Создание автономного веб-приложения,
часть 2
17.1. Первоначальные приготовления
17 2 Добавление веб-сервиса
17.2.1. Включение источника данных в
приложение
17 .3 . Завершение работы над приложением
17.3.1. Добавление класса заголовка
17.3.2 . Добавление класса деталей заказа
17.3 .3 . Добавление класса подтверждения
17.3 .4 . Финальный этап
17 4 Развертывание приложения
17.4.1. Добавление пакета рабочего варианта
HTTP-сервера . . . .
17.4.2 . Создание файла для постоянного
хранения данных
17.4 .3 . Создание сервера
17.4 .4 . Использование относительных URL-
адресов для запросов данных
17.4.5 . Сборка приложения
17.4.6 . Тестирование производственной сборки
17.5 . Контейнеризация приложения
17.5.1. Установка Docker
17.5.2 . Подготовка приложения
17.5 .3 . Создание контейнера Docker
17.5 .4 . Запуск приложения
Резюме
Глава 18. Создание приложения на Angular, часть 1
18.1. Первоначальные приготовления
18 .1.1. Настройка веб-сервиса
18 .1. 2 . Настройка пакета Bootstrap CSS
18 .1. 3 . Запуск примера приложения
18.2 . Роль TypeScript в разработке Angular
18.2.1. Конфигурация компилятора TypeScript
18 .3 . Создание модели данных
18.3.1. Создание источника данных
18.3.2 . Создание класса реализации источника
данных
18.3 . 3 . Настройка источника данных
18 .4 . Отображение отфильтрованного
списка товаров
18.4.1. Отображение кнопок категорий
18.4.2 . Создание отображения заголовка
18.4 .3 . Объединение компонентов
18.5 . Настройка приложения
Резюме
Глава 19. Создание приложения на Angular, часть 2
19.1. Первоначальные приготовления
19.2 . Завершение работы над приложением
19.2.1. Добавление компонента сводки
19.2.2 . Создание конфигурации маршрутизации
19 .3 . Развертывание приложения
19.3.1. Добавление пакета производственного
HTTP-сервера . . . .
19.3.2 . Создание файла постоянного хранения
данных
19.3 .3 . Создание сервера
19.3 .4 . Использование относительных URL
для запросов данных .
19.3.5 . Сборка приложения
19.3.6 . Тестирование производственной сборки
19 .4 . Контейнеризация приложения
19.4.1. Подготовка приложения
19.4.2 . Создание контейнера Docker
19.4 .3 . Запуск приложения
Резюме
Глава 20. Создание приложения на React, часть 1
20.1. Первоначальные приготовления
20 1 1 Настройка веб-сервиса
20 .1. 2 . Установка пакета Bootstrap CSS
20 1 3 Запуск примера приложения
20.2 . Роль TypeScript в разработке на React
20 .3 . Определение типов сущностей
20 .4 . Отображение отфильтрованного
списка товаров
20.4.1. Использование функциональных
компонентов и хуков . .
20 4 2 Отображение списка категорий и
заголовка
20.4 .3 . Создание и тестирование
компонентов
20.5 . Создание хранилища данных
20.5.1. Реализация клиентов HTTP API
Резюме
Глава 21. Создание приложения на React, часть 2
21.1. Первоначальные приготовления
21. 2 . Настройка маршрутизации URL-адресов
21. 3 . Завершение функций примера приложения
21 .3.1. Добавление компонента
подтверждения
21 .3.2 . Использование веб-сервиса для
выполнения заказов. . . . 21 3 3 Завершение
работы над приложением
21 4 Развертывание приложения
21 .4.1. Добавление пакета производственного
HTTP-сервера . . . 21 4 2 Создание файла
постоянных данных 21 4 3 Создание сервера
21 . 4 . 4 . Использование относительных URL-
адресов для запросов данных
21 4 5 Сборка приложения
21 . 4.6 . Тестирование производственной сборки
21. 5 . Контейнеризация приложения
21 5 1 Подготовка приложения
21.5.2 . Создание контейнера Docker
21 5 3 Запуск приложения Резюме
О книге
Кому стоит прочитать эту книгу
Структура издания
О коде
Об авторе
О научном редакторе
Иллюстрация на обложке
От издательства
Глава 1. Общая информация
1.1. Стоит ли использовать TypeScript
1.1.1. Чем полезен TypeScript для повышения
производительности разработчиков
1.1. 2 . Особенности версий JavaScript
1. 2 . Что нужно знать
1. 3 . Как настроить среду разработки
1. 4 . Какова структура этой книги
1. 5 . Много ли примеров?
1. 6 . Где можно получить код примера
1. 7 . Что делать, если у вас возникли проблемы с
выполнением примеров.
1 7 1 Что делать, если вы обнаружили
ошибку в книге
1. 8 . Как связаться с автором
1. 9 . Если вам понравилась эта книга
1.10 . Если вам не понравилась эта книга
Резюме
Часть I. Начало работы с TypeScript
Глава 2. Ваше первое приложение на TypeScript
2.1. Первые шаги
2.1.1. Установка Node .js
2.1. 2 . Установка Git
2.1.3 . Установка TypeScript
2.1.4 . Установка текстового редактора кода
2.2 . Создание проекта
2.2.1. Инициализация проекта
2.2.2 . Создание файла конфигурации
компилятора
2.2 . 3 . Добавление файла с кодом TypeScript
2.2 .4 . Компиляция и выполнение кода
2.2.5 . Определение модели данных
2.2.6 . Добавление функций в класс коллекции
2 . 3 . Использование пакетов сторонних
производителей
2 .3.1. Подготовка к работе со сторонним
пакетом
2 .3.2 . Установка и использование
сторонних пакетов
2 .3 .3 . Добавление деклараций типов для
пакета JavaScript
2 .4 . Добавление команд
2 .4.1. Фильтрация элементов
2 .4.2 . Добавление задач
2 .4 .3 . Отметка о выполнении задачи
2 5 Постоянное хранение данных Резюме
Глава 3. Обзор JavaScript, часть 1
3 1 Первоначальные приготовления
3.2 . Запутанный JavaScript
3 . 3 . Типы данных в JavaScript
3 3 1 Работа с примитивными типами данных
3 .3.2 . Приведение типа
3 .3 .3 . Работа с функциями
3 .4 . Работа с массивами
3 . 4.1. Оператор расширения spread для
массивов
3 .4.2 . Деструктуризация массивов
3.5 . Работа с объектами
3.5.1. Добавление, изменение и удаление
свойств объекта
3.5.2 . Использование операторов spread и rest
для объектов
3.5 .3 . Определение геттеров и сеттеров
3.5 .4 . Определение методов
3.6 . Ключевое слово this
3.6 .1. Ключевое слово this в автономных
функциях
3 6 2 Ключевое слово this в методах
3.6.3 . Изменение поведения ключевого слова
this
3 6 4 Ключевое слово this в стрелочных
функциях
3.6.5 . Возвращаясь к исходной проблеме
Резюме
Глава 4. Обзор JavaScript, часть 2
4.1. Первоначальные приготовления
4.2 . Наследование объектов в JavaScript
4.2.1. Проверка и изменение прототипа объекта
4.2.2 . Пользовательские прототипы
4.2 .3 . Функции-конструкторы
4.2 .4 . Цепочка функций-конструкторов
4.2.5 . Проверка типов прототипов
4.2.6 . Определение статических свойств и
методов
4.2.7 . Классы в JavaScript
4 3 Итераторы и генераторы
4 3 1 Использование генератора
4 3 2 Определение итерируемых объектов 4
4 Коллекции в JavaScript
4 . 4.1. Хранение данных по ключу с
использованием объекта . . . .
4 .4.2 . Хранение данных по ключу с
использованием map
4 .4 .3 . Использование символов для
ключей map
4 4 4 Хранение данных по индексу
4.5 . Модули
4.5.1. Объявление типа модуля
4.5.2 . Создание модуля JavaScript
4.5 .3 . Использование модуля JavaScript
4.5 . 4 . Экспорт именованных функций из
модуля
4.5.5 . Определение нескольких именованных
функций в модуле . . .
Резюме
Глава 5. Компилятор TypeScript
5.1. Первоначальные приготовления
5 2 Структура проекта
5 .3 . Менеджер пакетов Node
5 . 4 . Файл конфигурации компилятора
5.5 . Компиляция TypeScript-кода
5.5.1. Об ошибках компилятора
5 5 2 Режим отслеживания и выполнение
скомпилированного кода
5.6 . Функция выбора целевой версии
5.7 . Установка файлов библиотек для
компиляции
5 .8 . Выбор формата модуля
5 8 1 Указание формата модуля
5 .9 . Полезные параметры конфигурации
компилятора
Резюме
Глава 6. Тестирование и отладка TypeScript
6 .1. Первоначальные приготовления
6.2 . Отладка TypeScript-кода
6.2.1. Подготовка к отладке
6.2.2 . Использование Visual Studio Code для
отладки
6.2 . 3 . Использование встроенного
отладчика Node .js
6.2 .4 . Функция удаленной отладки Node .js
6.3 . Линтер TypeScript
6.3.1. Отключение правил линтера
6.4 . Модульное тестирование TypeScript
6.4.1. Настройка тестового фреймворка
6 4 2 Создание модульных тестов
6.4 .3 . Запуск тестового фреймворка
Резюме
Часть II. Возможности TypeScript
Глава 7. Статические типы
7.1. Первоначальные приготовления
7 2 Статические типы
7.2.1. Создание статического типа с помощью
аннотации типа .
7.2.2 . Использование неявно определенных
статических типов
7.2 .3 . Тип any
7 .3 . Объединения типов
7 .4 . Утверждения типа
7 .4.1. Утверждение к неожиданному типу
7.5 . Защита типа
7.5.1. Тип never
7.6 . Тип unknown
7.7 . Тип NULL
7.7.1. Ограничение присвоений значения null
7 7 2 Удаление null из объединения с помощью
утверждения
7 7 3 Удаление null из объединения с помощью
защиты типа 7 7 4 Утверждение определения
присваивания Резюме
Глава 8. Функции
8 1 Первоначальные приготовления
8.2 . Определение функций
8.2.1. Переопределение функций
8.2.2 . Параметры функций
8.2 . 3 . Результаты функции
8.2 .4 . Перегрузка типов функций
8.2.5 . Функции утверждения
Резюме
Глава 9. Массивы, кортежи и перечисления
9.1. Первоначальные приготовления
9 2 Работа с массивами
9.2.1. Вывод типов массивов
9.2.2 . Проблемы при выводе типов массивов
9.2 .3 . Проблемы с пустыми массивами
9 . 3 . Кортежи
9 . 3.1. Обработка кортежей
9 . 3.2 . Использование типов кортежей
9 . 3 . 3 . Кортежи с необязательными элементами
9 .3 .4 . Определение кортежей с rest-элементами
9 .4 . Перечисления
9 . 4.1. Принцип работы перечислений
9 .4.2 . Строковые перечисления
9 .4 .3 . Ограничения перечислений
9.5 . Типы с литеральным значением
9.5.1. Типы с литеральным значением в
функциях
9.5.2 . Смешивание типов значений в типе с
литеральным значением .
9.5 . 3 . Переопределения типов с
литеральными значениями
9.5 .4 . Шаблонный литеральный строковый
тип
9.6 . Псевдонимы типов
Резюме
Глава 10. Объекты
10.1. Первоначальные приготовления
10 2 Работа с объектами
10.2.1. Использование аннотаций структуры типа
объекта
10.2.2 . О соответствии структур типов
10.2 .3 . Использование псевдонимов типов
для структур типов . . . .
10.2 .4 . Объединения структур типов
10.2.5 . Объединение типов свойств
10.2.6 . Защита типов для объектов
10 3 Пересечения типов
10.3.1. Использование пересечений для
сопоставления данных. . . .
10.3.2 . Объединение пересечений
Резюме
Глава 11. Работа с классами и интерфейсами
11 1 Подготовка к изучению главы
11. 2 . Функции-конструкторы
11 3 Классы
11 .3.1. Управление доступом с помощью
ключевых слов
11 . 3.2 . Приватные поля в JavaScript
11 . 3 . 3 . Определение свойств, доступных только
для чтения . .
11 . 3 . 4 . Упрощение конструкторов классов
11 . 3.5 . Определение аксессоров
11 . 3.6 . Автоаксессоры
11 . 3.7 . Наследование классов
11 . 3 . 8 . Абстрактные классы
11.4 . Использование интерфейсов
11 .4.1. Реализация нескольких интерфейсов
11 . 4.2 . Расширение интерфейсов
11 . 4 . 3 . Необязательные свойства и методы
интерфейса
11 . 4 . 4 . Определение реализации абстрактного
интерфейса . . .
11 . 4.5 . Защита типа интерфейса
11. 5 . Динамическое создание свойств
11.5.1. Включение проверки значения индекса
Резюме
Глава 12. Обобщенные типы
12.1. Первоначальные приготовления
12 2 Проблемы, решаемые обобщенными
типами
12.2.1. Добавление поддержки другого типа
12 .3 . Создание обобщенных классов
12 .3.1. Аргументы обобщенных типов
12 .3.2 . Использование аргументов различных
типов
12 .3 .3 . Ограничение значений обобщенных типов
12 .3 .4 . Определение нескольких параметров
типа
12 .3.5 . Разрешение компилятору выводить
аргументы типа . .
12 .3.6 . Расширение обобщенных классов
12 .3.7 . Защита обобщенных типов
12 .3 .8 . Определение статического метода в
обобщенном классе
12 4 Определение обобщенных интерфейсов
12 .4.1. Расширение обобщенных интерфейсов
12 .4.2 . Реализация обобщенного интерфейса
Резюме
Глава 13. Расширенные возможности обобщенных
типов
13.1. Первоначальные приготовления
13.2 . Использование обобщенных коллекций
13 . 3 . Использование обобщенных
итераторов
13.3.1. Объединение итерируемого и итератора
13.3.2 . Создание итерируемого класса
13 . 4 . Индексные типы
13.4.1. Запрос индексного типа
13.4.2 . Явное указание параметров обобщенных
типов
для индексных типов
13.4 .3 . Оператор индексированного доступа
13.4 . 4 . Использование индексного типа для
класса collection<t>. . . .
13.5 . Сопоставление типа
13.5.1. Изменение имен и типов сопоставления
13.5.2 . Параметр обобщенного типа с
сопоставленным типом
13.5 .3 . Изменение обязательности и
изменчивости свойств
13.5 .4 . Основные встроенные сопоставления
13.5.5 . Комбинирование преобразований в
одном сопоставлении . . .
13.5.6 . Создание типов с помощью
сопоставления типов
13.6 . Условные типы
13.6 .1. Вложенные условные типы
13.6.2 . Условные типы в обобщенных классах
13.6.3 . Использование условных типов в
объединениях типов
13.6.4 . Использование условных типов в
сопоставлениях типов . . . .
13.6.5 . Определение свойств конкретного типа
13.6.6 . Вывод дополнительных типов в
условиях
Резюме
Глава 14. Декораторы
14.1. Первоначальные приготовления
14.2 . Что такое декораторы
14.2.1. Использование контекстных данных
декоратора
14.2.2 . Использование определенных типов в
декораторе
14 . 3 . Другие типы декораторов
14.3.1. Декоратор класса
14.3.2 . Декораторы полей
14.3 . 3 . Декораторы аксессоров
14.3 .4 . Декораторы автоаксессоров
14 .4 . Передача дополнительного аргумента
декоратору
14.5 . Применение нескольких декораторов
14.6 . Инициализаторы
14.7 . Накопление данных о состоянии
Резюме
Глава 15. Работа с JavaScript
15 1 Первоначальные приготовления
15 .1.1. Добавление кода TypeScript в проект
примера
15.2 . Работа с JavaScript
15.2.1. Включение JavaScript в процесс
компиляции
15.2.2 . Проверка типа JavaScript-кода
15 .3 . Описание типов, используемых в коде
JavaScript
15.3.1. Использование комментариев для
описания типов
15.3.2 . Файлы деклараций типов
15.3 .3 . Описание стороннего JavaScript-кода
15.3 .4 . Использование файлов деклараций
проекта Definitely Typed
15.3.5 . Использование пакетов, включающих
декларации типов . . .
15 .4 . Генерация файлов деклараций
Резюме
Часть III. Создание веб-приложений на основе
TypeScript
Глава 16. Создание автономного веб-приложения,
часть 1
16 .1. Первоначальные приготовления
16.2 . Создание инструментария
16.3 . Добавление сборщика
16.4 . Добавление веб-сервера разработки
16.5 . Создание модели данных
16.5.1. Создание источника данных
16.6 . Отображение HTML-контента с
использованием DOM API
16.6 .1. Добавление поддержки стилей CSS
Bootstrap
16.7 . Использование JSX для создания HTML-
контента
16.7.1. Как устроен рабочий процесс с JSX
16.7.2 . Настройка компилятора и загрузчика
16.7 .3 . Создание фабричной функции
16.7 .4 . Использование класса JSX
16.7.5 . Импорт фабричной функции в класс JSX
16.8 . Добавление функций в приложение
16.8.1. Отображение отфильтрованного списка
товаров
16.8.2 . Отображение содержимого и обработка
обновлений
Резюме
Глава 17. Создание автономного веб-приложения,
часть 2
17.1. Первоначальные приготовления
17 2 Добавление веб-сервиса
17.2.1. Включение источника данных в
приложение
17 .3 . Завершение работы над приложением
17.3.1. Добавление класса заголовка
17.3.2 . Добавление класса деталей заказа
17.3 .3 . Добавление класса подтверждения
17.3 .4 . Финальный этап
17 4 Развертывание приложения
17.4.1. Добавление пакета рабочего варианта
HTTP-сервера . . . .
17.4.2 . Создание файла для постоянного
хранения данных
17.4 .3 . Создание сервера
17.4 .4 . Использование относительных URL-
адресов для запросов данных
17.4.5 . Сборка приложения
17.4.6 . Тестирование производственной сборки
17.5 . Контейнеризация приложения
17.5.1. Установка Docker
17.5.2 . Подготовка приложения
17.5 .3 . Создание контейнера Docker
17.5 .4 . Запуск приложения
Резюме
Глава 18. Создание приложения на Angular, часть 1
18.1. Первоначальные приготовления
18 .1.1. Настройка веб-сервиса
18 .1. 2 . Настройка пакета Bootstrap CSS
18 .1. 3 . Запуск примера приложения
18.2 . Роль TypeScript в разработке Angular
18.2.1. Конфигурация компилятора TypeScript
18 .3 . Создание модели данных
18.3.1. Создание источника данных
18.3.2 . Создание класса реализации источника
данных
18.3 . 3 . Настройка источника данных
18 .4 . Отображение отфильтрованного
списка товаров
18.4.1. Отображение кнопок категорий
18.4.2 . Создание отображения заголовка
18.4 .3 . Объединение компонентов
18.5 . Настройка приложения
Резюме
Глава 19. Создание приложения на Angular, часть 2
19.1. Первоначальные приготовления
19.2 . Завершение работы над приложением
19.2.1. Добавление компонента сводки
19.2.2 . Создание конфигурации маршрутизации
19 .3 . Развертывание приложения
19.3.1. Добавление пакета производственного
HTTP-сервера . . . .
19.3.2 . Создание файла постоянного хранения
данных
19.3 .3 . Создание сервера
19.3 .4 . Использование относительных URL
для запросов данных .
19.3.5 . Сборка приложения
19.3.6 . Тестирование производственной сборки
19 .4 . Контейнеризация приложения
19.4.1. Подготовка приложения
19.4.2 . Создание контейнера Docker
19.4 .3 . Запуск приложения
Резюме
Глава 20. Создание приложения на React, часть 1
20.1. Первоначальные приготовления
20 1 1 Настройка веб-сервиса
20 .1. 2 . Установка пакета Bootstrap CSS
20 1 3 Запуск примера приложения
20.2 . Роль TypeScript в разработке на React
20 .3 . Определение типов сущностей
20 .4 . Отображение отфильтрованного
списка товаров
20.4.1. Использование функциональных
компонентов и хуков . .
20 4 2 Отображение списка категорий и
заголовка
20.4 .3 . Создание и тестирование
компонентов
20.5 . Создание хранилища данных
20.5.1. Реализация клиентов HTTP API
Резюме
Глава 21. Создание приложения на React, часть 2
21.1. Первоначальные приготовления
21. 2 . Настройка маршрутизации URL-адресов
21. 3 . Завершение функций примера приложения
21 .3.1. Добавление компонента
подтверждения
21 .3.2 . Использование веб-сервиса для
выполнения заказов. . . . 21 3 3 Завершение
работы над приложением
21 4 Развертывание приложения
21 .4.1. Добавление пакета производственного
HTTP-сервера . . . 21 4 2 Создание файла
постоянных данных 21 4 3 Создание сервера
21 . 4 . 4 . Использование относительных URL-
адресов для запросов данных
21 4 5 Сборка приложения
21 . 4.6 . Тестирование производственной сборки
21. 5 . Контейнеризация приложения
21 5 1 Подготовка приложения
21.5.2 . Создание контейнера Docker
21 5 3 Запуск приложения Резюме
Отзывы
Вопросы
Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!
Дарим бонусы за отзывы!
За какие отзывы можно получить бонусы?
- За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
- Публикуйте фото или видео к отзыву
- Пишите отзывы на товары с меткой "Бонусы за отзыв"
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «Основы TypeScript» (авторы: Фримен Адам), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!