Optionale Eigenschaften von Schnittstellen in TypeScript

In einer Schnittstelle können auch besondere optionale (nicht-obligatorische) Eigenschaften festgelegt werden. Sie werden benötigt, um das Objekt nicht auf einen bestimmten Satz von Eigenschaften einzuschränken. Dabei ist die Verwendung von Eigenschaften, die nicht in der Schnittstelle enthalten sind, verboten. Optionale Eigenschaften werden mit dem Operator ? festgelegt, der nach dem Eigenschaftsnamen angegeben wird.

Lassen Sie uns eine Schnittstelle IFigure erstellen, die die Eigenschaften für alle Objekt-Figuren festlegt. Lassen Sie color eine optionale Eigenschaft sein:

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

Erstellen wir nun ein Objekt rectangle und geben den Wert seiner Farbe in der Konsole aus:

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

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

Prüfen wir nun, ob ein Fehler auftritt, wenn die Farbe im Objekt nicht angegeben wird:

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

console.log(rectangle.color);

Es wird keinen Fehler geben und in der Konsole wird eine Meldung ausgegeben, dass die Farbe einfach nicht definiert ist:

typescriptundefined
Задание 1

Erstellen Sie eine Schnittstelle IDate für ein Objekt, das ein Datum speichert: Jahr, Monat und Tag. Lassen Sie alle Eigenschaften des Objekts optional sein.