Как работают `ReturnType<T>`, `Parameters<T>` и `InstanceType<T>`?
СобеседованиеУтилитарные типы
ReturnType<T> — извлекает тип возвращаемого значения функции через infer R
Parameters<T> — извлекает типы параметров как кортеж: Parameters<(a: string, b: number) => void> → [string, number]
ConstructorParameters<T> — параметры конструктора класса
InstanceType<T> — тип экземпляра класса (тип, который возвращает new)
ThisParameterType<T> — извлекает тип this из функции
OmitThisParameter<T> — удаляет параметр this