Опциональные свойства интерфейса в TypeScript

В интерфейсе также можно задавать особые опциональные (необязательные) свойства. Они нужны для того, чтобы не ограничивать объект определенным набором свойств. При этом запрещается использование свойств, которые не входят в интерфейс. Опциональные свойства задаются с помощью оператора ?, указанного после имени свойства.

Давайте создадим интерфейс IFigure, задающий свойства все объектам-фигурам. Пусть color будет опциональным свойством:

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

Теперь создадим объект rectangle и выведем значение его цвета в консоль:

let rectangle: IFigure = { height: 200, width: 300, color: 'red' } console.log(rectangle.color); // 'red'

А теперь проверим будет ли ошибка, если не задать цвет в объекте:

let rectangle: IFigure = { height: 200, width: 300 } console.log(rectangle.color);

Ошибки не будет и в консоль выведется сообщение о том, что цвет просто не определен:

undefined

Сделайте интерфейс IDate для объекта, хранящего дату: год, месяц и день. Пусть все свойства объекта будут необязательными.



Чат с GPT Компилятор