Proprietățile opționale ale interfeței în TypeScript
În interfață se pot defini și proprietăți speciale
opționale (facultative).
Acestea sunt necesare pentru a nu limita
obiectul la un anumit set de proprietăți. În același timp,
este interzisă utilizarea proprietăților
care nu fac parte din interfață. Proprietățile opționale
sunt definite folosind operatorul ?,
indicat după numele proprietății.
Să creăm interfața IFigure,
care definește proprietățile pentru toate obiectele-figură.
Fie color o proprietate opțională:
interface IFigure {
height: number;
width: number;
color?: string;
}
Acum să creăm obiectul rectangle și
să afișăm valoarea culorii sale în consolă:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
Și acum să verificăm dacă va fi o eroare, dacă nu setăm culoarea în obiect:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Nu va fi nicio eroare și în consolă va fi afișat mesajul că culoarea pur și simplu nu este definită:
undefined
Creați o interfață IDate pentru un obiect,
care stochează data: anul, luna și ziua. Fie
toate proprietățile obiectului să fie opționale.