Valfria egenskaper i gränssnitt i TypeScript
I ett gränssnitt kan man också definiera speciella
valfria (frivilliga) egenskaper.
De behövs för att inte begränsa
ett objekt till en specifik uppsättning egenskaper. Samtidigt
förbjuds användningen av egenskaper
som inte ingår i gränssnittet. Valfria
egenskaper definieras med hjälp av operatorn ?,
placerad efter egenskapens namn.
Låt oss skapa ett gränssnitt IFigure,
som sätter egenskaper för alla objekt-figurer.
Låt color vara en valfri
egenskap:
typescriptinterface IFigure {
height: number;
width: number;
color?: string;
}
Nu skapar vi ett objekt rectangle och
skriver ut värdet på dess färg i konsolen:
typescriptlet rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
Låt oss nu kontrollera om det blir ett fel om färg inte anges i objektet:
typescriptlet rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Det blir inget fel och i konsolen kommer ett meddelande att visas om att färgen helt enkelt inte är definierad:
typescriptundefined
Skapa ett gränssnitt IDate för ett objekt
som lagrar ett datum: år, månad och dag. Låt
alla objektets egenskaper vara valfria.