Предопределённые условные типы
В TypeScript предопределённые условные типы — это встроенные условные типы, предоставляемые языком. Они предназначены для выполнения распространённых преобразований типов с учётом характеристик заданного типа.
Exclude<UnionType, ExcludedType>: удаляет из Type все типы, которые могут быть присвоены ExcludedType.
Extract<Type, Union>: извлекает из Union все типы, которые могут быть присвоены Type.
NonNullable<Type>: удаляет null и undefined из Type.
ReturnType<Type>: извлекает тип возвращаемого значения функции Type.
Parameters<Type>: извлекает типы параметров функции Type.
Required<Type>: делает все свойства Type обязательными.
Partial<Type>: делает все свойства Type необязательными.
Readonly<Type>: делает все свойства Type доступными только для чтения.