给定这种类型
type HasOptionals = {
name: string
surname?: string
}
Run Code Online (Sandbox Code Playgroud)
是否可以生成一个排除任何可选属性的类型?
type example = OnlyRequired<HasOptionals> // { name: string }
Run Code Online (Sandbox Code Playgroud)
type OnlyRequired<T> = {
[K in keyof T as undefined extends T[K] ? never : K]: T[K]
}
Run Code Online (Sandbox Code Playgroud)
现在OnlyRequired<HasOptionals>确实是{ name: string; }。
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |