Proprietà opzionali delle interfacce in TypeScript
Nell'interfaccia è anche possibile definire particolari
proprietà opzionali (facoltative).
Sono necessarie per non limitare
un oggetto a un insieme specifico di proprietà. Tuttavia,
è vietato l'uso di proprietà
che non fanno parte dell'interfaccia. Le proprietà opzionali
sono definite utilizzando l'operatore ?,
indicato dopo il nome della proprietà.
Creiamo un'interfaccia IFigure,
che definisce le proprietà per tutti gli oggetti-figura.
Lascia che color sia una proprietà opzionale:
interface IFigure {
height: number;
width: number;
color?: string;
}
Ora creiamo un oggetto rectangle e
visualizziamo il valore del suo colore nella console:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
E ora verifichiamo se ci sarà un errore se non specifichiamo il colore nell'oggetto:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Non ci sarà alcun errore e nella console verrà visualizzato un messaggio che indica semplicemente che il colore non è definito:
undefined
Crea un'interfaccia IDate per un oggetto
che memorizza una data: anno, mese e giorno. Lascia che
tutte le proprietà dell'oggetto siano opzionali.