Sobes.tech
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 visi Type savybės yra neprivalomos.
    // Sukuria tipą su neprivalomomis savybėmis 'name' ir 'age'
    type PartialUser = Partial<{ name: string; age: number }>;
    
  • Readonly<Type>: Sukuria tipą, kuriame visos Type savybė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 savybes KeysType. Keys gali 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 savybes KeysType.
    // Sukuria tipą, kuris apima tik savybę 'age'
    type UserWithoutName = Omit<{ name: string; age: number }, 'name'>;
    
  • Exclude<UnionType, ExcludedMembers>: Sukuria tipą, išskyrus ExcludedMembersUnionType.
    // Sukuria tipą, kuris išskiria 'null' iš jungties
    type NonNullableString = Exclude<string | null | undefined, null | undefined>;
    
  • Extract<Type, Union>: Išskiria iš Type visus narius, kurie gali būti priskirti Union.
    // Išskiria 'null' ir 'undefined' iš jungties
    type JustNullOrUndefined = Extract<string | null | undefined, null | undefined>;
    
  • NonNull<Type>: Išskiria null ir undefinedType.
    // Sukuria tipą, kuris išskiria 'null' ir 'undefined'
    type NonNullStringOrNumber = NonNullable<string | number | null | undefined>;
    
  • Parameters<Type>: Gaukite funkcijos Type parametrų tipus kaip tuple.
    // Gaukite funkcijos parametrų tipus: [string, number]
    type FuncParams = Parameters<(a: string, b: number) => void>;
    
  • ReturnType<Type>: Gaukite funkcijos Type grąž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ą.