Rääkige mulle TypeScripti kasulikest tüüpidest.
sobes.tech AI
Vastus AI-lt
TypeScripti kasulikud tüübid on tõhus viis keerukate andmetüüpide haldamiseks. Need sisseehitatud tüübid võimaldavad olemasolevaid tüüpe ümber kujundada uuteks, teha erinevaid kasulikke operatsioone ning parandada koodi paindlikkust ja korduvkasutatavust. Peamised kasulikud tüübid on:
-
Partial<Type>: loob uue tüübi, kus kõik
Typeomadused on valikulised.interface User { id: number; name: string; age: number; } type PartialUser = Partial<User>; // PartialUser on { id?: number; name?: string; age?: number; } -
Readonly<Type>: loob uue tüübi, kus kõik
Typeomadused on ainult lugemiseks.interface Point { x: number; y: number; } type ReadonlyPoint = Readonly<Point>; // ReadonlyPoint on { readonly x: number; readonly y: number; } -
Pick<Type, Keys>: loob tüübi, valides teatud
KeysomadusedType-st.interface Product { id: number; name: string; price: number; description: string; } type ProductSummary = Pick<Product, 'id' | 'name' | 'price'>; // ProductSummary on { id: number; name: string; price: number; } -
Omit<Type, Keys>: loob tüübi, välja jättes teatud
KeysomadusedType-st.interface Order { id: number; productId: number; quantity: number; timestamp: string; } type OrderDetails = Omit<Order, 'timestamp'>; // OrderDetails on { id: number; productId: number; quantity: number; } -
Exclude<Type, ExcludedUnion>: loob tüübi, välja jättes
Type-st elemendid, mis võivad kuuludaExcludedUnion-ile.type Colors = 'red' | 'green' | 'blue' | 'yellow'; type PrimaryColors = Exclude<Colors, 'yellow'>; // PrimaryColors on 'red' | 'green' | 'blue' -
Extract<Type, Union>: loob tüübi, valides
Type-st elemendid, mis võivad kuuludaUnion-ile.type AllAnimals = 'dog' | 'cat' | 'fish' | 'bird'; type PetAnimals = Extract<AllAnimals, 'dog' | 'cat'>; // PetAnimals on 'dog' | 'cat' -
NonNullable<Type>: loob tüübi, välja jättes
nulljaundefinedväärtusedType-st.type MaybeString = string | null | undefined; type NotNullableString = NonNullable<MaybeString>; // NotNullableString on string -
Record<Keys, Type>: loob objekti tüübi, mille omadused on
Keys-st ja väärtusedType.type CityPopulation = Record<string, number>; // CityPopulation on { [key: string]: number } const population: CityPopulation = { "Moskva": 12635466, "Sankt-Peterburg": 5381033, }; -
Parameters<Type>: tagastab funktsiooni parameetrite tüübi järjendi (tuple).
function greet(name: string, age: number): string { return `Hello, ${name}! You are ${age}.`; } type GreetParams = Parameters<typeof greet>; // GreetParams on [name: string, age: number] -
ReturnType<Type>: tagastab funktsiooni tagastatava väärtuse tüübi.
function calculateSum(a: number, b: number): number { return a + b; } type SumResult = ReturnType<typeof calculateSum>; // SumResult on number -
ConstructorParameters<Type>: tagastab klassi konstruktorparameetrite tüübi järjendi (tuple) või massiivina.
class MyClass { constructor(name: string, id: number) {} } type MyClassParams = ConstructorParameters<typeof MyClass>; // MyClassParams on [name: string, id: number] -
InstanceType<Type>: tagastab
Typeklassi eksemplari tüübi.class AnotherClass { value: string; constructor(v: string) { this.value = v; } } type AnotherClassInstance = InstanceType<typeof AnotherClass>; // AnotherClassInstance on AnotherClass
Tippe kasutades muutub kood turvalisemaks, lihtsamaks hooldada ja väljendusrikkamaks, võimaldades tõhusalt hallata keerukaid andmetüüpe.