К списку заданий

ДЗ №6

Дедлайн 04.11.2025 в 20:59

Требования:

Реализовать домашку в репозитории в файлах с расширением .ts

Задание 1:
Определи интерфейс ApiResponse<T>, описывающий ответ от сервера:

{
  data: ...;
  status: ...;
  message: ...;
  ...
}

Обязательно сделай какие-то поля оциональными, и чтобы какие-то могли быть null

Создай переменную response типа ApiResponse<User> (также потребуется создать user)

Задание 2:
Определи тип Product с полями:

  • id: number

  • title: string

  • price: number

Определи тип DiscountedProduct, который расширял бы базовый продукт, добавляя поля связанные со скидками.

Создай переменную item типа DiscountedProduct и присвой ей объект.

Задание 3:
Создай универсальную функцию

function wrap(value) {
  return { value };
}

Добавь дженерик T, чтобы функция принимала значение любого типа, а возвращаемый объект имел тип { value: T }.

Поступи на курс, чтобы сдавать задания на проверку преподавателям