функций с дженериками. Например, я оборачиваю функцию и не хочу повторять тип, хочу использовать тот, что уже есть.
Например
const f1 = <T>(foo: T): T => { ... }
type F1 = typeof f1
const f2 = (...args: Parameters<F1<number>>): ReturnType<F1<number>> => {
console.log('???')
return f1(...args)
}
ТС не разрешает так в дженерик передать тип((
другими словами, я хочу в дженерный typeof x передать тип
Здесь два разных вида дженериков — функция f1 с типом-параметром (который можно указать только при вызове функции: f1<number>(3)), и тип F1, зависящий от типа-параметра (тогда этот тип-параметр надо указывать при любом использовании F1: F1<number>). Можно попробовать заранее выделить тип F1 с необязательным типом-параметром, и его назначить функции f1 и её обёртке: play.
Обсуждают сегодня