Opcionális tulajdonságok az interfészekben TypeScript-ben
Az interfészben speciális, opcionális (nem kötelező) tulajdonságokat is lehet megadni.
Ezek azért szükségesek, hogy ne korlátozzuk az objektumot egy meghatározott tulajdonságkészletre.
Ugyanakkor a tiltott az olyan tulajdonságok használata, amelyek nem részei az interfésznek. Az opcionális
tulajdonságokat a ? operátorral lehet megadni,
a tulajdonságnév után.
Készítsünk egy IFigure interfészt,
ami minden alakzat-objektum tulajdonságait határozza meg.
Legyen a color egy opcionális
tulajdonság:
interface IFigure {
height: number;
width: number;
color?: string;
}
Most készítsünk egy rectangle objektumot és
írjuk ki a színének értékét a konzolra:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
Most ellenőrizzük, hogy hiba történik-e, ha nem adunk meg színt az objektumban:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Nem lesz hiba, és a konzolra kiíródik az üzenet, hogy a szín egyszerűen nincs megadva:
undefined
Készítsen egy IDate interfészt egy olyan objektumhoz,
amely dátumot tárol: év, hónap és nap. Legyenek
minden tulajdonságai az objektumnak opcionálisak.