【发布时间】:2019-11-19 18:21:02
【问题描述】:
建议在显式部分类型上使用映射类型,请参阅 https://www.typescriptlang.org/docs/handbook/advanced-types.html#mapped-types
即而不是
interface PersonPartial {
name?: string;
age?: number;
}
我们会使用
interface Person {
name: string;
age: number;
}
type Partial<T> = {
[P in keyof T]?: T[P];
}
type PersonPartial = Partial<Person>;
是否可以映射到另一个方向,例如
type NotPartial<T> = {
[P in keyof T]!: T[P];
}
type Person = NotPartial<PersonPartial>;
因为我有一个创建部分接口的生成器,由于鸭子打字而破坏了我的类型检查。
【问题讨论】: