Middle
გთხოვთ, მოგვიყევით TypeScript-ის utility ტიპებზე.
sobes.tech AI
პასუხი AI-სგან
TypeScriptтеги Utility түрлөрү – бул алдын ала түзүлгөн жардамчы түрлөр, алар түрлөр үстүндө жалпы операцияларды жеңилдетет, мисалы түрлөрдү өзгөртүү, чыгарып алуу же белгилүү мүнөздөмөлөрдү чыгарып салуу. Алар коддун ийкемдүүлүгүн жана окумдуулугун жогорулатат.
Негизги пайдалуу түрлөр:
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тизмесиндеги мүнөздөмөлөрдү тандайт.// `name` мүнөздөмөсү гана камтылган түр түзөт type UserWithName = Pick<{ name: string; age: number }, 'name'>;Omit<Type, Keys>:TypeичиненKeysтизмесиндеги мүнөздөмөлөрдү чыгарып салат.// `name` мүнөздөмөсү жок түр түзөт 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чыгарып салган түр түзөт.// `null` жана `undefined` чыгарып салган түр type NonNullStringOrNumber = NonNullable<string | number | null | undefined>;Parameters<Type>: Функциянын параметрлеринин түрлөрүн кортеж түрүндө алат.// Функциянын параметрлеринин түрлөрү: [string, number] type FuncParams = Parameters<(a: string, b: number) => void>;ReturnType<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) {} }
Utility түрлөрдү колдонуу – бул көбүрөөк типке коопсуз, ийкемдүү жана оңой колдоого алынган код түзүүгө жардам берет.