Учитывая этот код:
interface Foo{
one?: string;
two?: string;
}
type Foo2 = {
[P in keyof Foo]: number;
}
Я ожидал бы, что тип Foo2
будет { one: number; two: number; }
Однако вместо этого, похоже, сохраняется необязательный модификатор { one?: number; two?: number; }
Можно ли удалить необязательный модификатор при использовании сопоставленных типов?