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 интерфейсин жасагыла.
Объекттин бардык касиеттери милдеттүү
эмес болсун.