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:

typescriptinterface IFigure {
  height: number;
  width: number;
  color?: string;
}

Ahora creemos un objeto rectangle y mostremos el valor de su color en la consola:

typescriptlet 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:

typescriptlet 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:

typescriptundefined
Задание 1

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.