Апцыянальныя ўласцівасці інтэрфейсу ў 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 для аб'екта,
які захоўвае дату: год, месяц і дзень. Хай
усе ўласцівасці аб'екта будуць неабавязковымі.