关于该主题的另一个堆栈溢出答案,您可以要求使用以下方法将泛型传递给函数:
function contractType<T = void, U extends T = T>(value: unknown): U {
return value as U
}
但是,我遇到这样的情况,我想以这种方式要求泛型,但是将泛型限制为另一种类型:
function contractType<T extends Type = void, U extends T = T>(value: unknown): U {
return value as U
}
这当然会失败,因为无法将void分配给类型“ Type”。有没有办法可以实现类似的目的?