[stepik] TypeScript для современной разработки [Михаил Непомнящий]
80₽
Узнайте что такое TypeScript, как он дополняет возможности языка JavaSctipt и как его использовать. Узнайте как TypeScript помогает современным разработчикам делать кодовую базу более надежной и понятной и избежать большого количества багов и ошибок.
Данный курс познакомит Вас с азами строгой типизации, разовьет базовые концепции до более сложных и продвинутых. Наконец, мы сделаем 3 проекта, чтобы закрепить пройденный материал и сделать акцент на том, что действительно важно.
Всего за несколько лет TypeScript прошел путь от новичка на рынке языков программирования до любимца многих разработчиков. Во многих рейтингах язык занимает ведущие позиции, стабильно входя в Топ-5 популярных языков.
Курс покрывает все необходимые навыки по синтаксису языка, его фичам и концепциям, которые необходимы для повседневной разработки. Разберитесь с миром строгой типизации и начните использовать его в свих проектах!
В курс включено:
Понятие типа и как им пользоваться
Интерфейсы и алиасы типов
Массивы и кортежи (tuple)
Union и enum
Дженерики (универсальные типы)
Уточнение типов и защитники типов
Встроенные утилиты TypeScript
Маппинг типов и шаблонные литералы
Типизация React и Redux приложений
3 проекта на TypeScript
Программа курса
#1 Введение
Приветствие
Что такое TypeScript и зачем нужен
Альтернативы TypeScript
Пререквизит к курсу
Настройка окружения
Как построен курс
#2 Базовая типизация
О модуле
Примитивные типы
Базовая типизация функций
Базовая типизация объектов
Объекты как параметры функции
Типизация массивов
Кортежи
Алиасы
Union типы
Enum
Итоги модуля
#3 Продвинутая типизация
О модуле
Подробнее об интерфейсах
Подробнее об алиасах
Type vs Interface
Сужение типов
Type Guards
Asserts
Типизация this
Перегрузка функций
Рекурсивные типы
Оператор !
Итоги модуля
#4 Дженерики
О модуле
Актуальность дженериков
Базовые примеры
Добавление требований
Оператор keyof
Сужение допустимых значений типа
Значения по умолчанию
Области видимости типов дженерика
Итоги модуля
#5 Комбинирование типов
О модуле
Оператор typeof
Conditional type
Еще раз про extends
Оператор infer
Маппинг типов
Утилиты Extract, Exclude, NonNullable
Утилиты Record, Pick, Omit
Утилиты ReadOnly, Required, Partial
Утилиты Parameters, CounstructorParameters
Доступ по индексу
Шаблонные литералы
Итоги модуля
#6 Проект 1. Vanilla JS -> TypeScript
Обзор проекта
Постановка задачи
Создание ts-проекта
Создание интерфейсов
Добавление type guards
Типы асинхронных функций
Итоги модуля
#7 Классы
О модуле
Интерфейс для класса
Модификаторы доступа
Нюансы конструктора
Абстрактные классы
Геттеры и сеттеры
Статические свойства и методы
Итоги модуля
#8 Настройки компилятора
О модуле
Составные части конфига
Базовые настройки
Опции компилятора
Дополнительные опции
Тюнинг строгости
Дополнительный линтинг
Рекомендованные конфиги
Итоги модуля
#9 Типизация React-компонентов
О модуле
Настройка окружения
Типизация пропсов
Типизация стилей
Типизация стейта
Хэндлеры
Хранение типов
Нюансы useEffect
Типизация useRef
Приложение TodoList
Классовые компоненты
Итоги модуля
#10 Проект на React+TS
Обзор проекта
Окружение для проекта
Создание типов сущностей
Шапка приложения
Компонент поиска
Альтернативный вариант формы
Компонент статистики
Шапка карточки
Инфо компонент
Получение данных
Итоги модуля
#11 Типизация Redux
О модуле
Добавления Redux в приложение
Типизация слайсов
Типизация селекторов
Типизация asyncThunk
Типизация extraReducers
AsyncThunk как дженерик
Доработка асинхронного слайса
Итоги модуля
#12 Проект React+Redux+TS
Обзор проекта
Окружение для проекта
Базовые типы приложения
UI компоненты
Типизация переключателя темы
Типизация списка стран
Типизация детальной страницы
Типизация контролей
Итоги проекта
#13 Итоги курса