TypeScriptтеги пайдалуу түрлөрү жөнүндө айтып бериңиз.
sobes.tech AI
AIден жооп
TypeScriptтеги пайдалуу түрлөрдү колдонуу — бул жогорку деңгээлде маалыматтардын татаал түрлөрүн натыйжалуу башкаруу жолу. Бул ички түрлөрү бар, алар бар түрлөрдү жаңы түрлөргө айландырууга, ар кандай пайдалуу операцияларды жүргүзүүгө жана коддун ийкемдүүлүгүн жана кайра колдонулушун жогорулатууга мүмкүндүк берет. Негизги пайдалуу түрлөргө төмөнкүлөр кирет:
-
Partial<Type>: жаңы түр түзөт, анда
Typeбардык мүлктөрү милдеттүү эмес.interface User { id: number; name: string; age: number; } type PartialUser = Partial<User>; // PartialUser болот { id?: number; name?: string; age?: number; } -
Readonly<Type>: жаңы түр түзөт, анда бардык
Typeмүлктөрү окууга гана болот.interface Point { x: number; y: number; } type ReadonlyPoint = Readonly<Point>; // ReadonlyPoint болот { readonly x: number; readonly y: number; } -
Pick<Type, Keys>: белгилүү бир
KeysтизмесиненTypeичинен тандалган мүлктөрдү алат.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>: белгилүү бир
KeysтизмесинTypeичинен алып салат.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ичиненExcludedUnionменен бирге келген элементтерди алып салат.type Colors = 'red' | 'green' | 'blue' | 'yellow'; type PrimaryColors = Exclude<Colors, 'yellow'>; // PrimaryColors болот 'red' | 'green' | 'blue' -
Extract<Type, Union>:
TypeичиненUnionменен бирге келген элементтерди тандоого алат.type AllAnimals = 'dog' | 'cat' | 'fish' | 'bird'; type PetAnimals = Extract<AllAnimals, 'dog' | 'cat'>; // PetAnimals болот 'dog' | 'cat' -
NonNullable<Type>:
Typeичиненnullжанаundefinedмаанилерин алып салат.type MaybeString = string | null | undefined; type NotNullableString = NonNullable<MaybeString>; // NotNullableString болот string -
Record<Keys, Type>: объекттин түрүн түзөт, анын мүчөлөрү
Keysтизмесинен жана маанилериTypeболот.type CityPopulation = Record<string, number>; // CityPopulation болот { [key: string]: number } const population: CityPopulation = { "Москва": 12635466, "Санкт-Петербург": 5381033, }; -
Parameters<Type>: функциянын параметрлеринин түрлөрүнүн тизмесин кайтарат.
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>: функциянын кайтаруучу маанисинин түрүн кайтарат.
function calculateSum(a: number, b: number): number { return a + b; } type SumResult = ReturnType<typeof calculateSum>; // SumResult болот number -
ConstructorParameters<Type>: класс конструкторунун параметрлеринин түрлөрүнүн тизмесин кайтарат.
class MyClass { constructor(name: string, id: number) {} } type MyClassParams = ConstructorParameters<typeof MyClass>; // MyClassParams болот [name: string, id: number] -
InstanceType<Type>: класс
Typeүлгүсүнүн түрүн кайтарат.class AnotherClass { value: string; constructor(v: string) { this.value = v; } } type AnotherClassInstance = InstanceType<typeof AnotherClass>; // AnotherClassInstance болот AnotherClass
Пайдалуу түрлөрдү колдонуу кодду коопсуз, оңой тейлөө жана көбүрөөк билдирет, бул татаал маалыматтардын түрлөрүн эффективдүү башкарууга мүмкүндүк берет.