Опционална својства интерфејса у TypeScript-у
У интерфејсу се такође могу задати посебна
опционална (необавезна) својства.
Потребна су да не би ограничавали
објекат одређеним скупом својстава. При
томе је забрањено коришћење својстава
која нису део интерфејса. Опционална
својства задају се помоћу оператора ?,
наведеног после имена својства.
Хајде да направимо интерфејс IFigure,
који задаје својства свим објектима-фигурама.
Нека color буде опционално
својство:
interface IFigure {
height: number;
width: number;
color?: string;
}
Сада направимо објекат rectangle и
испишимо вредност његове боје у конзолу:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
А сада проверимо да ли ће бити грешке ако не задамо боју у објекту:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Грешке неће бити и у конзолу ће бити исписана порука да боја једноставно није дефинисана:
undefined
Направите интерфејс IDate за објекта
који чува датум: годину, месец и дан. Нека
сва својства објекта буду необавезна.