Sobes.tech
Middle+

Druhá část úkolu v TypeScriptu: převeďte všechna pole objektu typu Delivery na nový typ pomocí utilitárních typů TypeScript.

sobes.tech AI

Odpověď od AI

V TypeScriptu lze pomocí pomocných typů, jako jsou Partial<T>, Required<T>, Readonly<T>, Pick<T, K>, Record<K, T> a další, převést všechna pole objektu typu Delivery.

Pokud chcete převést všechna pole objektu, například je udělat všechna volitelná, můžete použít Partial:

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

// Udělat všechna pole volitelná
type PartialDelivery = Partial<Delivery>;

Pokud chcete udělat všechna pole pouze pro čtení:

// Udělat všechna pole pouze pro čtení
type ReadonlyDelivery = Readonly<Delivery>;

Pokud chcete například převést všechna pole na řetězce:

// Převést všechna pole na řetězce
type StringifiedDelivery = {
  [K in keyof Delivery]: string;
};

Tímto způsobem lze pomocí mapovaných typů a pomocných typů vytvářet nové typy na základě původního Delivery.