TypeScript-də utilitar növlər haqqında danışın.
sobes.tech Süni İntellekt
AI-dan cavab
TypeScript-də utilitar tiplər mövcud məlumat tiplərini yeni tiplərə çevirməyə imkan verən daxili tiplərdir və müxtəlif faydalı əməliyyatlar həyata keçirir. Onlar tiplərin çevikliyini və təkrar istifadə imkanlarını artırmağa kömək edir, kodda artıq təkrarlamaları azaldır.
Əsas utilitar tiplər:
-
Partial<Type>:
Type-in bütün xüsusiyyətlərini qeyri-məcburi edən yeni tip yaradır.interface User { id: number; name: string; age: number; } type PartialUser = Partial<User>; // PartialUser { id?: number; name?: string; age?: number; } -
Readonly<Type>:
Type-in bütün xüsusiyyətlərini yalnız oxumaq üçün edən yeni tip yaradır.interface Point { x: number; y: number; } type ReadonlyPoint = Readonly<Point>; // ReadonlyPoint { readonly x: number; readonly y: number; } -
Pick<Type, Keys>:
Type-dənKeysilə göstərilən xüsusiyyətləri seçərək tip yaradır.interface Product { id: number; name: string; price: number; description: string; } type ProductSummary = Pick<Product, 'id' | 'name' | 'price'>; // ProductSummary { id: number; name: string; price: number; } -
Omit<Type, Keys>:
Type-dənKeysilə göstərilən xüsusiyyətləri çıxarır.interface Order { id: number; productId: number; quantity: number; timestamp: string; } type OrderDetails = Omit<Order, 'timestamp'>; // OrderDetails { id: number; productId: number; quantity: number; } -
Exclude<Type, ExcludedUnion>:
Type-dənExcludedUnion-a uyğun olan elementləri çıxarır. Birlik tipləri üçün istifadə olunur.type Colors = 'red' | 'green' | 'blue' | 'yellow'; type PrimaryColors = Exclude<Colors, 'yellow'>; // PrimaryColors 'red' | 'green' | 'blue' -
Extract<Type, Union>:
Type-dənUnion-a uyğun olan elementləri seçir. Birlik tipləri üçün istifadə olunur.type AllAnimals = 'dog' | 'cat' | 'fish' | 'bird'; type PetAnimals = Extract<AllAnimals, 'dog' | 'cat'>; // PetAnimals 'dog' | 'cat' -
NonNullable<Type>:
Type-dənnullvəundefineddəyərlərini çıxarır.type MaybeString = string | null | undefined; type NotNullableString = NonNullable<MaybeString>; // NotNullableString string olacaq -
Record<Keys, Type>:
Keys-dən olan açarları vəType-dən olan dəyərləri olan obyekt tipi yaradır.type CityPopulation = Record<string, number>; // CityPopulation { [key: string]: number } const population: CityPopulation = { "Moskva": 12635466, "Sankt-Peterburg": 5381033, }; -
Parameters<Type>:
Typefunksiyasının parametr tiplərinin tuple-ını qaytarır.function greet(name: string, age: number): string { return `Salam, ${name}! Sən ${age} yaşındasan.`; } type GreetParams = Parameters<typeof greet>; // GreetParams [name: string, age: number] -
ReturnType<Type>:
Typefunksiyasının geri dönüş dəyərinin tipini qaytarır.function calculateSum(a: number, b: number): number { return a + b; } type SumResult = ReturnType<typeof calculateSum>; // SumResult number -
ConstructorParameters<Type>:
Typesinifinin konstruktor parametrlərinin tuple-ını və ya array-ını qaytarır.class MyClass { constructor(name: string, id: number) {} } type MyClassParams = ConstructorParameters<typeof MyClass>; // MyClassParams [name: string, id: number] -
InstanceType<Type>:
Typesinifinin nümunə tipini qaytarır.class AnotherClass { value: string; constructor(v: string) { this.value = v; } } type AnotherClassInstance = InstanceType<typeof AnotherClass>; // AnotherClassInstance AnotherClass
Utilitar tiplərdən istifadə kodu daha təhlükəsiz, daha asan baxımlı və daha ifadəli edir, mürəkkəb məlumat tiplərini effektiv idarə etməyə imkan verir.