Skip to content

Учебный проект по продвинутым типам TypeScript (Mapped/Conditional/Recursive Types)

Notifications You must be signed in to change notification settings

LGalushka/typescript-day6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 TypeScript Day 6: Продвинутые типы

Репозиторий содержит мои заметки и практические задания по изучению сложных и продвинутых типов в TypeScript, выполненные за один день. Проект структурирован по темам: Mapped Types, Conditional Types, Key Remapping и Recursive Types.

🚀 Изученные темы и прогресс за день

Весь прогресс зафиксирован с использованием стандарта Conventional Commits. Ниже представлены основные изученные темы:

  • Рекурсивные типы: Реализация DeepReadonly и DeepPublish для работы с любой вложенностью объектов.
  • Фильтрация и трансформация: Решение задачи PublishProfile с удалением ключей (as never) и трансформацией массивов.
  • Трансформатор API: Реализация APIResponse для конвертации чисел в строки и удаления булевых значений.
  • Механизм infer: Использование infer для распаковки типов из Promise и ReturnType функций.
  • Условные типы: Изучение Conditional Types (extends ? :), механизма infer и фильтрации Union-типов.
  • Mapped Types Advanced: Реализация сложных трансформаций типов, метаданных и фильтрации через Mapped Types.
  • Key Remapping: Использование as, Capitalize и шаблонных строк для создания геттеров и сеттеров.
  • Модификаторы: Добавление примеров реализации Partial, Readonly и удаление модификаторов (-?, -readonly).
  • Основы Mapped Types: Добавление примеров использования keyof и базовых Mapped Types.
  • Инициализация: Инициализация проекта и базовая настройка typescript.

🛠️ Как запустить проект

Для запуска и изучения примеров вам потребуется Node.js и TypeScript.

  1. Клонируйте репозиторий: git clone <URL_ВАШЕГО_РЕПОЗИТОРИЯ>
  2. Установите зависимости: npm install (если есть файл package.json)
  3. Откройте файлы *-theory.ts и *-practice.ts в вашем редакторе (например, VS Code).

About

Учебный проект по продвинутым типам TypeScript (Mapped/Conditional/Recursive Types)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published