如何用泛型约束设计既安全又保留具体类型的公共函数
简答题中等489 次浏览
参考答案与解析
# 核心结论
泛型公共函数的核心价值是建立输入、输出和多个参数之间的类型关系,而不是把具体类型简单替换成一个任意占位符。设计良好的泛型约束既能拒绝缺少必要能力的参数,又能保留调用者传入的具体类型。约束只应描述实现确实需要使用的能力;如果类型参数只出现一次、返回值与输入没有关系,或实现只有少量固定分支,那么unknown、联合类型或函数重载通常更清晰。
function getProperty<T extends object, K extends keyof T>(
target: T,
key: K,
): T[K] {
return target[key];
}
const account
