Opcionális tulajdonságok az interfészekben TypeScript-ben

Az interfészben speciális, opcionális (nem kötelező) tulajdonságokat is lehet megadni. Ezek azért szükségesek, hogy ne korlátozzuk az objektumot egy meghatározott tulajdonságkészletre. Ugyanakkor a tiltott az olyan tulajdonságok használata, amelyek nem részei az interfésznek. Az opcionális tulajdonságokat a ? operátorral lehet megadni, a tulajdonságnév után.

Készítsünk egy IFigure interfészt, ami minden alakzat-objektum tulajdonságait határozza meg. Legyen a color egy opcionális tulajdonság:

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

Most készítsünk egy rectangle objektumot és írjuk ki a színének értékét a konzolra:

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

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

Most ellenőrizzük, hogy hiba történik-e, ha nem adunk meg színt az objektumban:

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

console.log(rectangle.color);

Nem lesz hiba, és a konzolra kiíródik az üzenet, hogy a szín egyszerűen nincs megadva:

typescriptundefined
Задание 1

Készítsen egy IDate interfészt egy olyan objektumhoz, amely dátumot tárol: év, hónap és nap. Legyenek minden tulajdonságai az objektumnak opcionálisak.