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.