【发布时间】:2026-01-27 17:50:01
【问题描述】:
有没有办法在 TypeScript 中定义一些通用的动态类型,这样我就可以根据投影参数定义类型?
假设您要执行数据库查询,或者您正在执行 GraphQL 请求。 你会有一个类似的功能
interface Person {
id: string;
firstName: string;
lastName: string;
}
function getPeople(projection: (keyof Person)[]): Promise<Partial<Person>[]> {...}
我的意思是,如果我现在执行getPeople(['id', 'firstName']),那么返回的对象将永远不会有任何属性lastName,因为投影被配置为永远不会将其加载到内存中。有什么方法可以在类型级别上表明这一点,而不是简单地使用仍然允许我引用未初始化属性的Partial<Person>?
【问题讨论】:
标签: typescript typescript-typings