Skip to content

Typy mapowane

Typy mapowane w TypeScript pozwalają tworzyć nowe typy na podstawie istniejącego typu przez przekształcenie każdej właściwości za pomocą funkcji mapującej. Mapując istniejące typy, można tworzyć nowe typy, które reprezentują te same informacje w innym formacie. Aby utworzyć typ mapowany, należy uzyskać dostęp do właściwości istniejącego typu za pomocą operatora keyof, a następnie zmienić je w celu utworzenia nowego typu. W poniższym przykładzie:

type MyMappedType<T> = {
[P in keyof T]: T[P][];
};
type MyType = {
foo: string;
bar: number;
};
type MyNewType = MyMappedType<MyType>;
const x: MyNewType = {
foo: ['hello', 'world'],
bar: [1, 2, 3],
};

Definiujemy MyMappedType, aby mapował właściwości typu T, tworząc nowy typ, w którym każda właściwość jest tablicą swojego pierwotnego typu. Za jego pomocą tworzymy MyNewType, aby reprezentował te same informacje co MyType, ale z każdą właściwością w postaci tablicy.