Volitelné vlastnosti rozhraní v TypeScript
V rozhraní lze také nastavit speciální
volitelné (nepovinné) vlastnosti.
Jsou potřeba, aby nebyl objekt omezen
určitou sadou vlastností. Zároveň
je zakázáno používat vlastnosti,
které nejsou součástí rozhraní. Volitelné
vlastnosti se nastavují pomocí operátoru ?,
uvedeného za názvem vlastnosti.
Vytvořme rozhraní IFigure,
které definuje vlastnosti všech objektů-tvarů.
Nechť color je volitelnou
vlastností:
interface IFigure {
height: number;
width: number;
color?: string;
}
Nyní vytvoříme objekt rectangle a
vypíšeme hodnotu jeho barvy do konzole:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
A nyní zkontrolujeme, zda nastane chyba, pokud barvu v objektu nenastavíme:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Nastane chyba a v konzoli se vypíše zpráva, že barva jednoduše není definována:
undefined
Vytvořte rozhraní IDate pro objekt,
ukládající datum: rok, měsíc a den. Nechť
všechny vlastnosti objektu jsou volitelné.