
Знакомимся с Typescript
- Зачем нужен typescript? И что это такое?
- Типы данных
- Типизация функций
- Типизация объектов
- Type и Interface
- Типизация массивов
- Практика изученного
- Union (объединения)
- Разница между type и interface
- Intersection (пересечение)
- Повтор пройденного
- Литеральные типы
- Кастование типов (as unknown)
- Enum, const enum
- Utility types: Partial, Required, Readonly
- Utility types: Pick
- Utility types: Omit
- Utility types: ReturnType
- Практика: Создаем TypeScript локально
- Практика: Типизируем React компоненты, хуки, промисы
- Практика: Типизируем события (events)
- Практика: const enum
- tsconfig.json
- Подводим финальный итог
- Что будет в этом модуле?
- Тип never
- Тип void
- Тип unknown
- Assert exhaustiveness
- Type guard
- Конструкция as const
- Readonly
- Tuple
- Keyof, typeof
- Mapped types
- Подводим итоги
- Что будет в этом модуле?
- Заметки
- Что такое перегрузка
- Union типы в перегрузке
- Разное количество аргументов в перегрузке
- Практика перегрузок
- Перегрузка для стрелочных функций
- Тест по перегрузкам
- Chrome Dev Tools
- В какой ситуации нужны дженерики?
- Синтаксис дженериков
- Дженерики для type
- Значение по-умолчанию
- Дженерики для функций
- Дженерики и extends
- Кастование типов для дженериков
- Typeof и keyof в дженериках
- Зависимость дженериков друг от друга
- Константные дженерики
- Практика дженериков
- Тест по дженерикам
- ValueOf
- Условные типы
- Шаблонный строковый тип
- Индексные типы
- Типизация промисов
- Satisfies
- Рекурсивные типы
- Utility types: Extract, Exclude
- Utility types+
- Как запустить TS локально
- Разница между .ts и .d.ts (Reference path, reference type)
- Типизация картинок, стилей (css, scss, sass), шрифтов и прочее
- Declare / Declare module
- Типизируем Window
- Тест по прочим темам
- Что это и где применяется?
- Infer для массивов
- Infer для строк
- Infer для объектов
- Почему используем never в union типах?
- Infer для функций
- Infer и never
- NoInfer утилитарный тип
- Тест по infer
- Что будет в этом модуле
- Модификаторы доступа (public, private, protected, readonly)
- Перегрузка конструктора
- Инициализация свойств через конструктор
- Дженерики в классах
- Implements и Abstract
- Практика
- Тест по классам
- Про Namespace и Decorators
- Повторяем пройденный материал
- Тест по пройденному материалу
- If
- Push
- Concat
- Unshift
- Length of Tuple
- First of Array
- Readonly
- Pick
- Tuple to Object
- Exclude
- Includes
- Awaited
- Parameters
- Скоро будет