Middle
Дар бораи намудҳои utility дар TypeScript нақл кунед.
sobes.tech AI
Ҷавоб аз AI
Намудҳои Utility дар TypeScript – инҳо намуди кӯмакии дарунсохт мебошанд, ки кори умумиро дар бораи намудҳо содда мекунанд, ба монанди табдилҳо, истисноҳо ё хориҷ кардани хусусиятҳои муайян. Онҳо чандирӣ ва хонданро дар коди баланд мебардоранд.
Намудҳои асосии муфид:
Partial<Type>: Намудеро месозад, ки дар он ҳама хусусиятҳоиTypeихтиёрӣ мебошанд.// Намуди бо хусусиятҳои ихтиёрӣ 'name' ва 'age' type PartialUser = Partial<{ name: string; age: number }>;Readonly<Type>: Намудеро месозад, ки дар он ҳама хусусиятҳоиTypeтанҳо барои хондан мебошанд.// Намуди бо хусусиятҳои 'name' ва 'age', ки танҳо барои хондан дастрасанд type ReadonlyUser = Readonly<{ name: string; age: number }>;Pick<Type, Keys>: Намудро месозад, ки азTypeмаҷмӯи хусусиятҳоиKeys-ро интихоб мекунад.Keysметавонад як литерал ё якҷоягии литералҳои сатр бошад.// Намуди, ки танҳо хусусияти 'name' дорад type UserWithName = Pick<{ name: string; age: number }, 'name'>;Omit<Type, Keys>: Намудро месозад, ки азTypeмаҷмӯи хусусиятҳоиKeys-ро хориҷ мекунад.// Намуди, ки танҳо хусусияти 'age' дорад type UserWithoutName = Omit<{ name: string; age: number }, 'name'>;Exclude<UnionType, ExcludedMembers>: Намудро месозад, ки азUnionTypeҳамаи аъзои, ки баExcludedMembersмувофиқанд, хориҷ мекунад.// Намуди, ки 'null'-ро аз якҷоягӣ хориҷ мекунад type NonNullableString = Exclude<string | null | undefined, null | undefined>;Extract<Type, Union>: АзTypeҳамаи аъзоро, ки баUnionмувофиқанд, мебарорад.// 'null' ва 'undefined'-ро аз якҷоягӣ мебарорад type JustNullOrUndefined = Extract<string | null | undefined, null | undefined>;NonNull<Type>:nullваundefined-ро азTypeхориҷ мекунад.// Намуди, ки 'null' ва 'undefined'-ро хориҷ мекунад type NonNullStringOrNumber = NonNullable<string | number | null | undefined>;Parameters<Type>: Намуди параметрҳои функсияиType-ро ҳамчун tuple мегирад.// Намуди параметрҳои функсия: [string, number] type FuncParams = Parameters<(a: string, b: number) => void>;ReturnType<Type>: Намуди арзиши баргардонидашудаи функсияиType-ро мегирад.// Намуди арзиши баргардонидашудаи функсия: number type FuncReturn = ReturnType<() => number>;ConstructorParameters<Type>: Намуди параметрҳои конструкторро мебарорад.// Намуди параметрҳои конструктори синф: [string, number] type MyClassParams = ConstructorParameters<typeof MyClass>; class MyClass { constructor(name: string, age: number) {} }InstanceType<Type>: Намуди намунаи синфро мебарорад.// Намуди намунаи синф: MyClass type MyClassInstance = InstanceType<typeof MyClass>; class MyClass { constructor(name: string, age: number) {} }
Истифодаи намуди кӯмакӣ ба сохтани коди бехатартар, чандиртар ва осонтар барои нигоҳдорӣ кӯмак мекунад.