TypeScript
Типы, дженерики, утилиты и типизация фреймворков
Что такое TypeScript и зачем он нужен
НачальныйTypeScript — типизированный надмножество JavaScript, которое помогает находить ошибки до запуска кода и делает разработку крупных проектов предсказуемой.
Базовые типы TypeScript
НачальныйОсновные типы TypeScript — string, number, boolean, array, tuple, enum, any, unknown, void, never. Примеры использования и подводные камни.
Интерфейсы и type aliases в TypeScript
НачальныйИнтерфейсы (interface) и псевдонимы типов (type aliases) — два способа описания форм объектов в TypeScript. Разбираемся, чем они отличаются и когда что использовать.
Функции в TypeScript
НачальныйТипизация параметров, возвращаемых значений, стрелочных функций, перегрузок и callback-ов в TypeScript. Практические примеры и паттерны.
Дженерики в TypeScript
СреднийGenerics (обобщения) позволяют писать функции и классы, которые работают с разными типами, сохраняя типобезопасность. Разбираем <T>, extends, default types и практические паттерны.
Utility Types в TypeScript
СреднийВстроенные утилитарные типы TypeScript — Partial, Required, Pick, Omit, Record, Exclude, Extract, ReturnType и другие. Примеры использования и практические паттерны.
Type Guards и Type Narrowing в TypeScript
СреднийСпособы сужения типов в TypeScript — typeof, instanceof, in, discriminated unions, пользовательские type guards. Практические примеры и паттерны.
Продвинутые типы TypeScript
ПродвинутыйConditional Types, Mapped Types, Template Literal Types, infer и keyof — продвинутые возможности системы типов TypeScript для создания гибких утилит.
Модули и namespaces в TypeScript
СреднийОрганизация кода в TypeScript — ES-модули (import/export), namespaces, barrel-экспорты, паттерны реэкспорта и структура проекта.
tsconfig.json — конфигурация TypeScript
СреднийПолный разбор tsconfig.json — strict mode, target, module, paths, include/exclude и другие опции. Практические конфигурации для разных проектов.
TypeScript с Vue
СреднийТипизация Vue 3-компонентов — defineProps, defineEmits, defineExpose, composables, reactive, ref, provide/inject и работа с Nuxt.
TypeScript с React
СреднийТипизация React-компонентов — FC, Props, useState, useRef, useEffect, useContext, handle-функции и work with external libraries.
Декораторы в TypeScript
ПродвинутыйДекораторы TypeScript — @decorator для классов, методов, свойств и параметров. Практические примеры: логирование, валидация, deprecated, memoize.
Объявления типов в TypeScript
Средний.d.ts файлы, @types/*, declare module, augmentation и создание собственных файлов объявлений типов для JavaScript-библиотек.