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:
interface IFigure {
height: number;
width: number;
color?: string;
}
Nüüd loome objekti rectangle ja
väljastame selle värvi väärtuse konsooli:
let 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:
let 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:
undefined
Tehke liides IDate objektile,
mis salvestab kuupäeva: aasta, kuu ja päev. Olgu
kõik objekti omadused valikulised.