Propiedades opcionales de interfaz en TypeScript
En la interfaz también se pueden establecer propiedades
especiales opcionales.
Son necesarias para no limitar
el objeto a un conjunto específico de propiedades. Al mismo
tiempo, se prohíbe el uso de propiedades
que no formen parte de la interfaz. Las propiedades
opcionales se establecen mediante el operador ?,
colocado después del nombre de la propiedad.
Creemos una interfaz IFigure
que defina las propiedades para todos los objetos-figuras.
Dejemos que color sea una propiedad
opcional:
interface IFigure {
height: number;
width: number;
color?: string;
}
Ahora creemos un objeto rectangle y
mostremos el valor de su color en la consola:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
Y ahora comprobemos si habrá error si no establecemos el color en el objeto:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
No habrá error y en la consola se mostrará un mensaje indicando que el color simplemente no está definido:
undefined
Cree una interfaz IDate para un objeto
que almacene una fecha: año, mes y día. Deje que
todas las propiedades del objeto sean opcionales.