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

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

Шаг 20 из 316 минТеория
Цель

Понять основной механизм темы «Вложенные объекты, 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. На практике оба взаимозаменяемы во многих случаях, выбирайте по стилю команды.

Назад

Обсуждение

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

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