Как извлечь generic-тип из другого типа в TypeScript?

Используйте условный тип с infer, чтобы извлечь параметр из известной структуры другого типа.

Короткий ответ

Что ответить на собеседовании

Используйте условный тип с infer, чтобы извлечь параметр из известной структуры другого типа.

Подробный разбор

Ответ с пояснениями

Используйте условный тип с infer, чтобы извлечь параметр из известной структуры другого типа.

Например: type Item<T> = T extends readonly (infer U)[] ? U : never. Тогда Item<string[]> даёт string. Для значения Promise часто подходит встроенный Awaited<T>; извлечение определяется структурой, а не произвольным именем generic-параметра.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее