Middle
Papaskinkite apie utility tipus TypeScript'e.
sobes.tech AI
Atsakymas iš AI
Naudojimo įrankių tipai TypeScript – tai įmontuoti pagalbiniai tipai, kurie supaprastina bendras operacijas su tipais, tokias kaip konvertavimas, išgavimas ar tam tikrų savybių išskyrimas. Jie didina kodo lankstumą ir skaitomumą.
Pagrindiniai naudingi tipai:
Partial<Type>: Sukuria tipą, kuriame visiTypesavybės yra neprivalomos.// Sukuria tipą su neprivalomomis savybėmis 'name' ir 'age' type PartialUser = Partial<{ name: string; age: number }>;Readonly<Type>: Sukuria tipą, kuriame visosTypesavybės yra tik skaitymui.// Sukuria tipą su savybėmis 'name' ir 'age', prieinamomis tik skaitymui type ReadonlyUser = Readonly<{ name: string; age: number }>;Pick<Type, Keys>: Sukuria tipą, pasirinkdama tam tikras savybesKeysišType.Keysgali būti eilutės literalas arba jungtis iš eilutės literalo.// Sukuria tipą, kuris apima tik savybę 'name' type UserWithName = Pick<{ name: string; age: number }, 'name'>;Omit<Type, Keys>: Sukuria tipą, išskyrus tam tikras savybesKeysišType.// Sukuria tipą, kuris apima tik savybę 'age' type UserWithoutName = Omit<{ name: string; age: number }, 'name'>;Exclude<UnionType, ExcludedMembers>: Sukuria tipą, išskyrusExcludedMembersišUnionType.// Sukuria tipą, kuris išskiria 'null' iš jungties type NonNullableString = Exclude<string | null | undefined, null | undefined>;Extract<Type, Union>: Išskiria išTypevisus narius, kurie gali būti priskirtiUnion.// Išskiria 'null' ir 'undefined' iš jungties type JustNullOrUndefined = Extract<string | null | undefined, null | undefined>;NonNull<Type>: IšskirianullirundefinedišType.// Sukuria tipą, kuris išskiria 'null' ir 'undefined' type NonNullStringOrNumber = NonNullable<string | number | null | undefined>;Parameters<Type>: Gaukite funkcijosTypeparametrų tipus kaip tuple.// Gaukite funkcijos parametrų tipus: [string, number] type FuncParams = Parameters<(a: string, b: number) => void>;ReturnType<Type>: Gaukite funkcijosTypegrąžinamosios reikšmės tipą.// Gaukite funkcijos grąžinamosios reikšmės tipą: number type FuncReturn = ReturnType<() => number>;ConstructorParameters<Type>: Išskiria konstruktoriaus parametrų tipus.// Gaukite klasės konstruktoriaus parametrų tipus: [string, number] type MyClassParams = ConstructorParameters<typeof MyClass>; class MyClass { constructor(name: string, age: number) {} }InstanceType<Type>: Išskiria konstruktoriaus tipo pavyzdžio tipą.// Išskiria klasės pavyzdžio tipą: MyClass type MyClassInstance = InstanceType<typeof MyClass>; class MyClass { constructor(name: string, age: number) {} }
Naudojant įrankių tipus, galima sukurti saugesnį, lankstesnį ir lengviau prižiūrimą kodą.