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:
interface IFigure {
height: number;
width: number;
color?: string;
}
Tagad izveidosim objektu rectangle un
izvadīsim tā krāsas vērtību konsolē:
let 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:
let 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:
undefined
Izveidojiet interfeisu IDate objektam,
kas glabā datumu: gadu, mēnesi un dienu. Lai
visas objekta īpašības būtu neobligātas.