Opciona svojstva interfejsa u TypeScript
U interfejsu takođe možete definisati posebna
opciona (neobavezna) svojstva.
Ona su potrebna da se objekat ne ograniči
određenim skupom svojstava. Pri
tome je zabranjeno korišćenje svojstava
koja nisu deo interfejsa. Opciona
svojstva se definišu pomoću operatora ?,
navedenog nakon imena svojstva.
Hajde da kreiramo interfejs IFigure,
koji definiše svojstva za sve objekte-figure.
Neka color bude opciono
svojstvo:
typescriptinterface IFigure {
height: number;
width: number;
color?: string;
}
Sada kreirajmo objekat rectangle i
prikažimo vrednost njegove boje u konzoli:
typescriptlet rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
A sada proverimo da li će biti greške, ako boja nije zadata u objektu:
typescriptlet rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Neće biti greške i u konzoli će se prikazati poruka da boja jednostavno nije definisana:
typescriptundefined
Napravite interfejs IDate za objekta,
koji čuva datum: godinu, mesec i dan. Neka
sva svojstva objekta budu neobavezna.