Sobes.tech
Back to questions
Middle+
3

Вторая часть задания по TypeScript: преобразуйте все поля объекта типа Delivery в новый тип, используя утилитарные типы TypeScript.

Companies where asked
Т-БанкТ-Банк

Answer from AI

sobes.tech AI

В TypeScript для преобразования всех полей объекта типа Delivery можно использовать утилитарные типы, например, Partial<T>, Required<T>, Readonly<T>, Pick<T, K>, Record<K, T> и другие.

Если нужно преобразовать все поля объекта, например, сделать их все необязательными, можно использовать Partial:

type Delivery = {
  id: number;
  address: string;
  date: Date;
  delivered: boolean;
};

// Сделать все поля необязательными
type PartialDelivery = Partial<Delivery>;

Если нужно сделать все поля только для чтения:

// Сделать все поля только для чтения
type ReadonlyDelivery = Readonly<Delivery>;

Если нужно, например, преобразовать все поля в строки:

// Преобразовать все поля в строки
type StringifiedDelivery = {
  [K in keyof Delivery]: string;
};

Таким образом, используя mapped types и утилитарные типы, можно создавать новые типы на основе исходного Delivery.