TypeScript interfeisa opcionālās īpašības
Interfeisā var arī definēt īpašas
opcionālās (neobligātās) īpašības.
Tās ir nepieciešamas, lai neierobežotu
objektu ar noteiktu īpašību kopu. Tajā pašā laikā
aizliegts ir to īpašību izmantošana,
kuras nav iekļautas interfeisā. Opcionālās
īpašības tiek definētas, izmantojot operatoru ?,
kas norādīts pēc īpašības nosaukuma.
Izveidosim interfeisu IFigure,
kas nosaka īpašības visiem objektiem-formām.
Lai color būtu opcionāla
īpašība:
typescriptinterface IFigure {
height: number;
width: number;
color?: string;
}
Tagad izveidosim objektu rectangle un
izvadīsim tā krāsas vērtību konsolē:
typescriptlet rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
Tagad pārbaudīsim, vai radīsies kļūda, ja objektā nenorādīsim krāsu:
typescriptlet rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Kļūda neradīsies un konsolē tiks izvadīts ziņojums, ka krāsa vienkārši nav definēta:
typescriptundefined
Izveidojiet interfeisu IDate objektam,
kas glabā datumu: gadu, mēnesi un dienu. Lai
visas objekta īpašības būtu neobligātas.