infer

infer работает в связке с условными типами, которые позволяют создавать типы, зависящие от других типов.

Когда вы используете infer в условном типе, TypeScript пытается вывести конкретный тип из заданного типа. Например, если вы работаете с массивом, infer может вывести тип элементов массива.

123456
type ElementType<T> = T extends (infer U)[] ? U : T; type Arr = numbe[];type Num = ElementType<Arr>; // Num будет number type Str = ElementType<string>; // Str будет string