Ինտերֆեյսի օպցիոնալ հատկությունները 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
Задание 1

Ստեղծեք IDate ինտերֆեյս օբյեկտի համար, որը պահպանում է ամսաթիվը՝ տարի, ամիս և օր: Թող օբյեկտի բոլոր հատկությունները լինեն ընտրովի: