Valgfrie egenskaper i grensesnitt i TypeScript

I et grensesnitt kan man også definere spesielle valgfrie (alternative) egenskaper. De er nødvendige for ikke å begrense et objekt til et bestemt sett med egenskaper. Samtidig forbys bruk av egenskaper som ikke inngår i grensesnittet. Valgfrie egenskaper defineres ved hjelp av operatoren ?, angitt etter egenskapsnavnet.

La oss opprette et grensesnitt IFigure, som definerer egenskaper for alle form-objekter. La color være en valgfri egenskap:

typescriptinterface IFigure {
  height: number;
  width: number;
  color?: string;
}

Nå oppretter vi et objekt rectangle og skriver ut verdien av fargen i konsollen:

typescriptlet rectangle: IFigure = {
  height: 200,
  width: 300,
  color: 'red'
}

console.log(rectangle.color); // 'red'

La oss nå sjekke om det vil være en feil hvis man ikke angir farge i objektet:

typescriptlet rectangle: IFigure = {
  height: 200,
  width: 300
}

console.log(rectangle.color);

Det vil ikke være noen feil, og i konsollen vil det vises en melding om at fargen rett og slett ikke er definert:

typescriptundefined
Задание 1

Lag et grensesnitt IDate for et objekt som lagrer en dato: år, måned og dag. La alle egenskapene til objektet være valgfrie.