Хосиятҳои ихтиёрӣ дар интерфейси 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 барои объекте созед,
ки санаро нигоҳ медорад: сол, моҳ ва рӯз. Бигзор
ҳамаи хосиятҳои объект ихтиёрӣ бошанд.