如何设计既能保持类型关联又不会过度复杂的泛型接口
简答题中等1007 次浏览
参考答案与解析
# 核心结论
泛型接口的目标是表达输入、输出和多个参数之间的类型关联,而不是把所有具体类型替换成字母。一个类型参数如果只出现一次,通常没有建立可复用关系,可能应改为具体类型、联合类型或直接使用 unknown。设计时应让类型参数尽量从实参推断,只在无法推断或调用方确实需要覆盖默认行为时显式传入;约束只描述实现真正依赖的最小能力,避免把参数限制为庞大的业务接口。
function getProperty<T, K extends keyof T>(object: T, key: K): T[K] {
return object[key];
}
function first<T>(items: readon
