Typescript samma härledda typ men alla valfria nycklar
Är det möjligt att automatiskt härleda detta gränssnitt:
interface OverrideParamType {
foo?: FooType
bar?: BarType
}
från den här
interface ParamType {
foo: FooType
bar: BarType
}
Användningen är i funktioner som slutar med:
return Object.assign ( {}, baseParams, overrideParams )
Svar #1
Sedan TypeScript 2.1 kan du göra:
interface ParamType {
foo: FooType
bar: BarType
}
type PartialParamType = Partial<ParamType>;
Definitionen av Partial är:
type Partial<T> = {
[P in keyof T]?: T[P];
};
Mer om det i: Mappade typer
Ett exempel i lekplatsen.
Observera att det inte finns något behov av att definiera Partial-typen själv, den är en del av lib.d.ts.
