Тасвирланглар: TypeScriptнинг ушбу фойдаланувчи турлари ва уларнинг ишлатилиш ҳолатлари: ```typescript type someType1<T extends object> = Partial<T>; type someType2<T extends object> = T[keyof T]; type someType3<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; type SomeType4<T extends object, K extends keyof T = keyof T> = Omit<T, K> & Partial<Pick<T, K>>; ```
sobes.tech AI
AIdan javob
-
Partial<T>—Tturidagi barcha xususiyatlarni majburiy emas qiladi. Asosan, asl turdagi faqat ba'zi xususiyatlarni ko'rsatish kerak bo'lganda ishlatiladi. -
T[keyof T]— indeks orqali kirish bo'lib,Tob'ektining barcha xususiyatlarining qiymat turlarining birlashmasini qaytaradi. Masalan, agarT{a: string; b: number}bo'lsa,T[keyof T]string | numberbo'ladi. -
Pick<T, Exclude<keyof T, K>>—TturidanKda ko'rsatilmagan barcha xususiyatlarni tanlaydi.ExcludeKkalitlariniTning barcha kalitlaridan chiqaradi,Pickesa qolganlarini tanlaydi. BuOmit<T, K>ga teng. -
Omit<T, K> & Partial<Pick<T, K>>—Kdan bo'lgan xususiyatlar majburiy emas bo'lib, qolganlari majburiy bo'lib qoladi. Bu, ba'zi xususiyatlarni majburiy emas qilish uchun foydalidir.
SomeType4 dan foydalanish misoli:
interface User {
id: number;
name: string;
email: string;
}
// email majburiy emas
type UserWithOptionalEmail = SomeType4<User, 'email'>;
const user1: UserWithOptionalEmail = { id: 1, name: 'Alice' }; // email majburiy emas