Optionele eigenschappen van interfaces in TypeScript
In een interface kun je ook speciale
optionele (niet-verplichte) eigenschappen instellen.
Ze zijn nodig om het object niet te beperken
tot een bepaalde set eigenschappen. Tegelijkertijd
is het gebruik van eigenschappen die niet
in de interface zitten, verboden. Optionele
eigenschappen worden ingesteld met de operator ?,
geplaatst achter de naam van de eigenschap.
Laten we een interface IFigure maken,
die de eigenschappen voor alle object-figuren definieert.
Laat color een optionele
eigenschap zijn:
interface IFigure {
height: number;
width: number;
color?: string;
}
Laten we nu een object rectangle maken en
de waarde van zijn kleur naar de console uitvoeren:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
Laten we nu controleren of er een fout zal zijn als we geen kleur in het object opgeven:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Er zal geen fout zijn en in de console wordt een bericht weergegeven dat de kleur simpelweg niet gedefinieerd is:
undefined
Maak een interface IDate voor een object
dat een datum opslaat: jaar, maand en dag. Laat
alle eigenschappen van het object optioneel zijn.