TypeScript'dagi utilitar turlar haqida gapirib bering.
sobes.tech AI
AIdan javob
TypeScript'dagi utilitar turlar mavjud bo'lib, ular mavjud ma'lumot turlarini yangi turlarga aylantirishga imkon beradi va turli foydali operatsiyalarni bajaradi. Ular turlarni moslashuvchanligini va qayta ishlatilishini oshirishga yordam beradi va kod takrorlanishini kamaytiradi.
Asosiy utilitar turlar:
-
Partial<Type>:
Typening barcha xususiyatlarini ixtiyoriy qiladi.interface User { id: number; name: string; age: number; } type PartialUser = Partial<User>; // PartialUser { id?: number; name?: string; age?: number; } -
Readonly<Type>:
Typening barcha xususiyatlarini faqat o'qish uchun qiladi.interface Point { x: number; y: number; } type ReadonlyPoint = Readonly<Point>; // ReadonlyPoint { readonly x: number; readonly y: number; } -
Pick<Type, Keys>:
Typedan ma'lum xususiyatlarni tanlab oladi.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>:
Typedan ma'lum xususiyatlarni chiqarib tashlaydi.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>:
TypedanExcludedUnionga mos keladigan elementlarni chiqarib tashlaydi.type Colors = 'red' | 'green' | 'blue' | 'yellow'; type PrimaryColors = Exclude<Colors, 'yellow'>; // PrimaryColors 'red' | 'green' | 'blue' -
Extract<Type, Union>:
TypedanUnionga mos keladigan elementlarni tanlab oladi.type AllAnimals = 'dog' | 'cat' | 'fish' | 'bird'; type PetAnimals = Extract<AllAnimals, 'dog' | 'cat'>; // PetAnimals 'dog' | 'cat' -
NonNullable<Type>:
Typedannullvaundefinedqiymatlarni chiqarib tashlaydi.type MaybeString = string | null | undefined; type NotNullableString = NonNullable<MaybeString>; // NotNullableString string -
Record<Keys, Type>: Kalitlari
Keysdan va qiymatlariTypebo'lgan ob'ekt turini yaratadi.type CityPopulation = Record<string, number>; // CityPopulation { [key: string]: number } const population: CityPopulation = { "Moscow": 12635466, "Saint Petersburg": 5381033, }; -
Parameters<Type>:
Typefunksiyasining parametrlarining turlaridan tuzilgan tuple ni qaytaradi.function greet(name: string, age: number): string { return `Hello, ${name}! You are ${age}.`; } type GreetParams = Parameters<typeof greet>; // GreetParams [name: string, age: number] -
ReturnType<Type>:
Typefunksiyasining qaytish qiymatining turini qaytaradi.function calculateSum(a: number, b: number): number { return a + b; } type SumResult = ReturnType<typeof calculateSum>; // SumResult number -
ConstructorParameters<Type>:
Typeklassining konstruktor parametrlarining turlaridan tuzilgan tuple yoki massiv.class MyClass { constructor(name: string, id: number) {} } type MyClassParams = ConstructorParameters<typeof MyClass>; // MyClassParams [name: string, id: number] -
InstanceType<Type>:
Typeklassining instans turini qaytaradi.class AnotherClass { value: string; constructor(v: string) { this.value = v; } } type AnotherClassInstance = InstanceType<typeof AnotherClass>; // AnotherClassInstance AnotherClass
Utility turlaridan foydalanish kodni xavfsiz, qo‘llab-quvvatlanadigan va ifodali qiladi, murakkab ma'lumot turlarini samarali boshqarishga imkon beradi.