Opcijske lastnosti vmesnika v TypeScript

V vmesniku je mogoče nastaviti tudi posebne opcijske (neobvezne) lastnosti. Potrebne so zato, da ne omejujemo objekta na določen niz lastnosti. Pri tem je prepovedana uporaba lastnosti, ki niso del vmesnika. Opcijske lastnosti se nastavijo z uporabo operatorja ?, ki je naveden za imenom lastnosti.

Ustvarimo vmesnik IFigure, ki določa lastnosti vsem objektom-oblikam. Naj bo color opcijska lastnost:

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

Zdaj ustvarimo objekt rectangle in izpišimo vrednost njegove barve v konzolo:

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

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

Zdaj pa preverimo, ali bo prišlo do napake, če barve ne nastavimo v objektu:

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

console.log(rectangle.color);

Napake ne bo in v konzolo bo izpisano sporočilo, da barva preprosto ni določena:

typescriptundefined
Задание 1

Naredite vmesnik IDate za objekt, ki shranjuje datum: leto, mesec in dan. Naj bodo vse lastnosti objekta neobvezne.