Middle
Meséljen a utility típusokról a TypeScript-ben.
sobes.tech MI
Válasz az MI-től
TypeScript Utility típusai – beépített segédtípusok, amelyek megkönnyítik a típusokon végzett általános műveleteket, például átalakításokat, kivonásokat vagy bizonyos tulajdonságok kizárását. Ezek növelik a kód rugalmasságát és olvashatóságát.
Fő hasznos típusok:
Partial<Type>: Létrehoz egy típust, ahol aTypeösszes tulajdonsága opcionális.// Olyan típus létrehozása, ahol a 'name' és 'age' tulajdonságok opcionálisak type PartialUser = Partial<{ name: string; age: number }>;Readonly<Type>: Létrehoz egy típust, ahol aTypeösszes tulajdonsága csak olvasható.// Olyan típus létrehozása, ahol a 'name' és 'age' tulajdonságok csak olvashatók type ReadonlyUser = Readonly<{ name: string; age: number }>;Pick<Type, Keys>: Kiválaszt egy halmazt aTypetulajdonságaiból aKeysszerint. AKeyslehet string literál vagy uniója string literáloknak.// Olyan típus létrehozása, amely csak a 'name' tulajdonságot tartalmazza type UserWithName = Pick<{ name: string; age: number }, 'name'>;Omit<Type, Keys>: Kizár egy halmazt aTypetulajdonságaiból aKeysszerint.// Olyan típus létrehozása, amely csak az 'age' tulajdonságot tartalmazza type UserWithoutName = Omit<{ name: string; age: number }, 'name'>;Exclude<UnionType, ExcludedMembers>: Kizár egy tagot az unióból, amely hozzárendelhető azExcludedMembers-hez.// Olyan típus létrehozása, amely kizárja a 'null'-t az unióból type NonNullableString = Exclude<string | null | undefined, null | undefined>;Extract<Type, Union>: Kivonja az összes olyan tagot aType-ból, amely hozzárendelhető aUnion-hoz.// Kivonja a 'null' és 'undefined' típusokat az unióból type JustNullOrUndefined = Extract<string | null | undefined, null | undefined>;NonNull<Type>: Kizárja anullésundefinedtípusokat aType-ból.// Olyan típus létrehozása, amely kizárja a 'null' és 'undefined' típusokat type NonNullStringOrNumber = NonNullable<string | number | null | undefined>;Parameters<Type>: Megkapja egy függvényTypeparamétereinek típusait tuple-ként.// Megkapja egy függvény paramétereinek típusait: [string, number] type FuncParams = Parameters<(a: string, b: number) => void>;ReturnType<Type>: Megkapja egy függvényTypevisszatérési értékének típusát.// Megkapja egy függvény visszatérési értékének típusát: number type FuncReturn = ReturnType<() => number>;ConstructorParameters<Type>: Kinyeri a konstruktor típusának paramétereit.// Megkapja a konstruktor paramétereinek típusait a osztály esetében: [string, number] type MyClassParams = ConstructorParameters<typeof MyClass>; class MyClass { constructor(name: string, age: number) {} }InstanceType<Type>: Kinyeri a konstruktor típusának példány típusát.// Kinyeri az osztály példány típusát: MyClass type MyClassInstance = InstanceType<typeof MyClass>; class MyClass { constructor(name: string, age: number) {} }
A utility típusok használata hozzájárul a típusbiztosabb, rugalmasabb és könnyebben karbantartható kód kialakításához.