me_edu
TypeScript для начинающихШаг 16 из 27 · 0% пройдено
Интерфейсы и типы объектов · Интерфейсы и типы объектов

Вложенные объекты, readonly и расширение

Поля интерфейса могут быть объектами и массивами:

interface Order { id: number; items: string[]; customer: { name: string; city: string }; createdAt: readonly string; // нельзя менять после создания }

Модификатор readonly запрещает менять поле после задания — защита от случайной правки.

Интерфейсы можно расширять, наследуя поля:

interface Animal { name: string; } interface Dog extends Animal { breed: string; }

Объект типа Dog обязан иметь и name, и breed.

Когда выбирать interface, а когда type? Для описания формы объектов чаще берут interface (его удобно расширять). Для объединений и сложных конструкций — type. На практике оба взаимозаменяемы во многих случаях, выбирайте по стилю команды.

Назад

Обсуждение

Войдите, чтобы участвовать в обсуждении.

Пока нет сообщений.