Proprietà opzionali delle interfacce in TypeScript

Nell'interfaccia è anche possibile definire particolari proprietà opzionali (facoltative). Sono necessarie per non limitare un oggetto a un insieme specifico di proprietà. Tuttavia, è vietato l'uso di proprietà che non fanno parte dell'interfaccia. Le proprietà opzionali sono definite utilizzando l'operatore ?, indicato dopo il nome della proprietà.

Creiamo un'interfaccia IFigure, che definisce le proprietà per tutti gli oggetti-figura. Lascia che color sia una proprietà opzionale:

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

Ora creiamo un oggetto rectangle e visualizziamo il valore del suo colore nella console:

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

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

E ora verifichiamo se ci sarà un errore se non specifichiamo il colore nell'oggetto:

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

console.log(rectangle.color);

Non ci sarà alcun errore e nella console verrà visualizzato un messaggio che indica semplicemente che il colore non è definito:

typescriptundefined
Задание 1

Crea un'interfaccia IDate per un oggetto che memorizza una data: anno, mese e giorno. Lascia che tutte le proprietà dell'oggetto siano opzionali.