Typescript и tsc [Тариф Ts с нуля Live] [Андрей Кобец]
В этом курсе по максимуму:
1. Вводная лекция
В этом курсе по максимуму:
- Разберём все аспекты новейшей версии TypeScript 5.8 и его эталонного компилятора tsc.
- Изучим CLI-интерфейс и все основные параметры .tsconfig, а также обсудим мультипроектные конфигурации.
- Познакомимся с TS-макросами. Научимся писать tsc-трансформеры для анализа и генерации нового кода — как для решения задач миграции API, так и для оптимизации и достижения большей выразительности и чистоты кода.
- Уделим большое внимание теме обобщённого программирования и программирования на типах, а также использованию объектно-ориентированного и функционального подходов.
- Поговорим об использовании TypeScript вместе с системами сборки и кратко рассмотрим альтернативные реализации: Babel, ESBuild и SWC.
1. Вводная лекция
- Типы и типизация в ЯП
- Типы и типизация в JavaScript
- JSDoc аннотации
- Знакомство с TypeScript
- Базовая настройка окружения
- Поддержка TS в Node.js и альтернативных платформах
- Явная типизация и выведение типов
- Примитивные типы TS
- Уникальные символы
- Константные типы
- Специальные типы any и unknown
- Аннотация @ts-ignore
- Размеченное объединение
- Массивы
- Псевдонимы типов
- Типизация функций
- Специальный тип void
- Перегрузка функций
- Интерфейс объекта
- Модификаторы частей объекта ? и readonly
- Доступ к частям объектного типа
- Интерфейс функционального объекта
- Интерфейс словаря и Array-Like объекта
- Тип-перечисление enum и const enum
- Объединение нескольких enum
- Массивы и кортежи
- Модификатор readonly
- Наследование и объединение интерфейсов
- Полиморфизм подтипов
- Класс объекта
- Объединение типов
- Специальный тип never
- Разница между interface и type
- Модификаторы видимости частей класса
- Модификатор private и нативные приватные свойства JS
- Паттерн "Дружественный класс"
- Модификаторы видимости для статических частей класса
- Задание полей через конструктор класса и модификатор !
- Модификатор override
- Модификатор accessor
- This-type полиморфизм
- Паттерн "Ассоциативный тип"
- Абстрактные классы
- Реализация интерфейса
- Интерфейсы vs классы vs абстрактные классы
- Объединения интерфейса и класса
- Guard функции и оператор is
- Оператор typeof
- Тип конструктора класса
- Операторы keyof, in и as
- Маппинг объектных типов и модификаторы -readonly и -?
- Приведение типов
- Константные типы
- Оператор satisfies
- Небезопасные приведения типов
- Проблемные приведения типов
- Параметризованные типы в функциях
- Пишем функцию небезопасного приведения типов
- Ограничения параметризованных типов
- Сопоставления с шаблоном и перегрузки
- Параметризованные типы в массивах и кортежах
- Выведение типов внутри кортежа
- Параметризованные типы в классах
- Выведение типов vs явное задание
- Параметризованные типы в interface и type
- Понятие контейнера
- Вариативность контейнеров по умолчанию
- Введение в проблематику
- Модификаторы in, out, in-out
- Практика
- Типовые функции
- Условные типовые конструкции
- Операторы infer и infer extends
- Пишем функции для извлечения значения из контейнера
- Написание тестов для типовых функций
- Пишем функции Push, Pop, Length
- Рекурсивные типовые функции
- Пишем функцию Reverse
- Нюансы типовых функций с перегруженными функциями
- Стандартная библиотека типовых функций
- Краткий разбор сторонних типовых библиотек
- Историческая справка
- Декораторы классов
- Пишем декоратор @derive для поддержки интерфейсов с реализацией по умолчанию
- Декораторы методов класса
- Пишем декоратор @deprecated
- Пишем декоратор @debounce
- Декораторы свойств класса
- Агрегация метаинформации
- Декораторы статических частей класса
- Конструкция import type
- Паттерны описания интерфейсов
- Конструкция namespace
- Особенности объединения одноименных namespace
- Глобальные типы и формат .d.ts
- Оператор declare
- Расширение globalThis
- Типизация модуля на JavaScript
- Разбиение одного .d.ts на множество файлов
- Сборка TS с генерацией .d.ts типов
- Генерация JSDoc
- Типизация NPM пакетов
- Знакомство с tsc и tsc-cli
- Разбираем параметры основные параметры .tsconfig
- Поддержка jsx
- Нюансы использования target и lib
- Triple-Slash директивы
- Поддержка разных систем модулей JS
- Использование tsc отдельно для статических проверок
- Мультипроектная сборка TS
- 11 онлайн-лекций
- Домашнее задание с самопроверкой к каждой лекции
- 3 созвона для разбора домашних заданий и ответов на вопросы
- Чат с преподавателем и студентами
- Доступ к материалам — 12 месяцев
- Продолжительность — 6 недель
https://kobezzza.ru/ts-tsc