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:
interface IFigure {
height: number;
width: number;
color?: string;
}
Sada kreirajmo objekat rectangle i
prikažimo vrednost njegove boje u konzoli:
let 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:
let 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:
undefined
Napravite interfejs IDate za objekta,
koji čuva datum: godinu, mesec i dan. Neka
sva svojstva objekta budu neobavezna.