Опционални свойства на интерфейса в TypeScript
В интерфейса също може да се задават специални
опционални (незадължителни) свойства.
Те са необходими, за да не се ограничава
обекта до определен набор от свойства. При
това се забранява използването на свойства,
които не са част от интерфейса. Опционалните
свойства се задават с помощта на оператора ?,
посочен след името на свойството.
Нека създадем интерфейс IFigure,
който задава свойства на всички обекти-фигури.
Нека color бъде опционално
свойство:
typescriptinterface IFigure {
height: number;
width: number;
color?: string;
}
Сега нека създадем обект rectangle и
изведем стойността на неговия цвят в конзолата:
typescriptlet rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
А сега нека проверим дали ще има грешка, ако не зададем цвят в обекта:
typescriptlet rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Няма да има грешка и в конзолата ще се изведе съобщение, че цветът просто не е дефиниран:
typescriptundefined
Направете интерфейс IDate за обект,
който съхранява дата: година, месец и ден. Нека
всички свойства на обекта да са незадължителни.