Typescript 如何展示更为具体的信息,或者直接把类型计算的信息展示出来?

这是一段类型体操的代码

interface User {
  name: string
  age: number
  address: string
}
type PartialByKeys<T, K extends keyof T = keyof T> = Partial<Pick<T,K>>&Omit<T,K>


type Test = PartialByKeys<User,'name'>
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;

我在github上看到有人悬浮到 Test 上直接运算出具体的类型,
而我只能把类型表达式展示出来,我想问这是配置问题么

预期
image.png

目前
image.png

阅读 2.6k
3 个回答
type Prettify<T> = {
  [K in keyof T]: T[K];
} & {};

解决方案来自光哥和他的小册


image.png


image.png image.png

因为你的 Test 并不能推断出正确的结果

Partial<Pick<T,K>> & Omit<T,K>  // { name?: string | undefined; } & {age: number; address: string; } ??? 

你把后面的 &Omit<T,K> 删了,这时候 Test 就会出现答案 { name?: string | undefined; }

推荐问题
logo
Microsoft
子站问答
访问
宣传栏