Valgfrie egenskaper i grensesnitt i TypeScript
I et grensesnitt kan man også definere spesielle
valgfrie (alternative) egenskaper.
De er nødvendige for ikke å begrense
et objekt til et bestemt sett med egenskaper. Samtidig
forbys bruk av egenskaper
som ikke inngår i grensesnittet. Valgfrie
egenskaper defineres ved hjelp av operatoren ?,
angitt etter egenskapsnavnet.
La oss opprette et grensesnitt IFigure,
som definerer egenskaper for alle form-objekter.
La color være en valgfri
egenskap:
interface IFigure {
height: number;
width: number;
color?: string;
}
Nå oppretter vi et objekt rectangle og
skriver ut verdien av fargen i konsollen:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
La oss nå sjekke om det vil være en feil hvis man ikke angir farge i objektet:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Det vil ikke være noen feil, og i konsollen vil det vises en melding om at fargen rett og slett ikke er definert:
undefined
Lag et grensesnitt IDate for et objekt
som lagrer en dato: år, måned og dag. La
alle egenskapene til objektet være valgfrie.