sunknudsen:
プロパティの省略形を使用して、このインタフェースを記述するために探しMonday
にSunday
同一のサブプロパティを持っています。
interface Day {
start: number
end: number
}
interface Schedule {
Monday: Day
Tuesday: Day
Wednesday: Day
Thursday: Day
Friday: Day
Saturday: Day
Sunday: Day
closed: string[]
}
DaGardner:
あなたはこのようにどこか共通のインタフェースを定義することができます。
interface DayDefinition {
start: number;
end: number;
}
interface Schedule {
Monday: DayDefinition;
Tuesday: DayDefinition;
Wednesday: DayDefinition;
Thursday: DayDefinition;
Friday: DayDefinition;
Saturday: DayDefinition;
Sunday: DayDefinition;
closed: string[]
}
それとも、さらにこれを短縮したい場合:あなたは週の可能日を記述するために労働組合を使用することができます。
interface DayDefinition {
start: number;
end: number;
}
type Day =
| 'Monday'
| 'Tuesday'
| 'Wednesday'
| 'Thursday'
| 'Friday'
| 'Saturday'
| 'Sunday';
type Schedule = {
[K in Day]: DayDefinition;
} & { closed: Day[] };