Conditional Types
Типы, которые зависят от условия:
1type IsString<T> = T extends string ? true : false;2type A = IsString<"hello">; // true3type B = IsString<42>; // false
Mapped Types
Создание новых типов на основе существующих:
1type Readonly<T> = {2 readonly [K in keyof T]: T[K];3};
Template Literal Types
Строковые типы на уровне компилятора:
1type EventName = `on${Capitalize<string>}`;2type CSSProperty = `${string}-${string}`;
Utility Types
Заключение
Продвинутые типы TypeScript позволяют создавать выражительные и безопасные API.
Изучите вопросы по TypeScript в нашем разделе.