TypeScripti liidese valikulised omadused
Liideses saab määrata ka erilisi
valikulisi (mittekohustuslikke) omadusi.
Neid on vaja selleks, et mitte piirata
objekti kindla omaduste komplektiga. Samal
ajal on keelatud nende omaduste kasutamine,
mida pole liideses määratletud. Valikulised
omadused määratakse kasutades operaatorit ?,
mis pandakse omaduse nime järele.
Loome liidese IFigure,
mis määrab kõikidele kujundite objektidele omadused.
Olgu color valikuline
omadus:
typescriptinterface IFigure {
height: number;
width: number;
color?: string;
}
Nüüd loome objekti rectangle ja
väljastame selle värvi väärtuse konsooli:
typescriptlet rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
Ja nüüd kontrollime, kas tekib viga, kui me ei määra objekti värvi:
typescriptlet rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Viga ei teki ja konsooli väljastatakse teade, et värvi lihtsalt ei ole määratletud:
typescriptundefined
Tehke liides IDate objektile,
mis salvestab kuupäeva: aasta, kuu ja päev. Olgu
kõik objekti omadused valikulised.