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:
interface IFigure {
height: number;
width: number;
color?: string;
}
Erstellen wir nun ein Objekt rectangle und
geben den Wert seiner Farbe in der Konsole aus:
let 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:
let 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:
undefined
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.