Ответ
Generic Union - это комбинация дженериков (обобщённых типов) и объединений (union types) в TypeScript. Позволяет создавать гибкие типы, которые могут работать с несколькими типами данных.
Пример:
type Result<T extends string | number> = {
data: T;
status: 'success' | 'error';
};
const numResult: Result<number> = { data: 42, status: 'success' };
const strResult: Result<string> = { data: 'hello', status: 'error' };
Здесь T
может быть либо string
, либо number
, а status
- union из двух строковых литералов. Это даёт строгую типизацию с сохранением гибкости.