Pasirinktinės sąsajos savybės TypeScript'e
Sąsajoje taip pat galima nustatyti ypatingas
pasirinktines (neprivalomas) savybes.
Jos reikalingos tam, kad neapriboti
objekto tam tikru savybių rinkiniu. Tuo
pačiu uždraudžiama naudoti savybes,
kurios nepriklauso sąsajai. Pasirinktinės
savybės nustatomos naudojant operatorių ?,
nurodytą po savybės pavadinimo.
Sukurkime sąsają IFigure,
kuri nustato savybes visiems objektams-figūroms.
Tegul color bus pasirinktinė
savybė:
interface IFigure {
height: number;
width: number;
color?: string;
}
Dabar sukurkime objektą rectangle ir
atspausdinkime jo spalvos reikšmę konsolėje:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
O dabar patikrinkime, ar bus klaidos, jei nenustatysime spalvos objekte:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Klaidos nebus ir konsolėje bus atvaizduotas pranešimas, kad spalva tiesiog nebuvo apibrėžta:
undefined
Sukurkite sąsają IDate objektui,
kuris saugo datą: metus, mėnesį ir dieną. Tegul
visos objekto savybės bus neprivalomos.