⊗tsSpIfOPr 22 of 37 menu

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.

bydeenesfrptru