Programming TypeScript
turi MyMappedType = { [ Kalit ichida
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
turi MyMappedType = {
[ Kalit ichida UnionType ] : Qiymat turi } Nomidan ko'rinib turibdiki, bu ob'ektning kalit va qiymat turlari bo'yicha xaritalash usuli. Aslida, TypeScript biz ilgari ishlatgan o'rnatilgan Record turini amalga oshirish uchun xaritalangan turlardan foydalanadi: turi Yozuv < K uzaytiradi kaliti har qanday , T > = { [ P ichida K ] : T } Xaritalangan turlar sizga oddiy Yozuvdan ko'ra ko'proq kuch beradi, chunki ob'ekt kalitlari va qiymatlariga turlarni berishdan tashqari, ularni kalitli turlar bilan birlashtirganda, ular qaysi qiymat turi qaysi kalit nomiga mos kelishiga cheklovlar qo'yish imkonini beradi. Keling, xaritalashtirilgan turlar bilan bajarishingiz mumkin bo'lgan ba'zi narsalarni tezda ko'rib chiqaylik. turi Hisob = { id : raqam Ishchi : boolean eslatmalar : string [] } // Barcha maydonlarni ixtiyoriy turdagi qiling Majburiy hisob = { [ K ichida kaliti Hisob ] ?: Hisob [ K ] } // Barcha maydonlarni null bo'ladigan tipga aylantiring NullableAccount = { [ K ichida kaliti Hisob ] : Hisob [ K ] | null } // Barcha maydonlarni faqat o'qish uchun yozing Faqat o'qish hisobi = { faqat o'qish uchun [ K ichida kaliti Hisob ] : Hisob [ K ] } // Barcha maydonlarni qayta yoziladigan qilib qo'ying (Hisobga teng) turi Hisob 2 = { - faqat o'qish uchun [ K ichida kaliti ReadonlyAccount ] : Hisob [ K ] } // Barcha maydonlarni qaytadan talab qiling (Hisobga teng) turi Hisob 3 = { [ K ichida kaliti OptionalAccount ] -?: Hisob [ K ] } OptionalAccount yangi ob'yekt turini Hisob orqali xaritalash orqali yaratamiz va yo'lda har bir maydonni ixtiyoriy deb belgilaymiz. NullableAccount yangi ob'yekt turini Hisob orqali xaritalash orqali yaratamiz va yo'l davomida har bir maydon uchun mumkin bo'lgan qiymat sifatida null qo'shamiz . Hisobni olib , uning har bir maydonini faqat o'qish uchun (ya'ni, o'qilishi mumkin, lekin yozilmaydi) qilish orqali biz ReadonlyAccount yangi obyekt turini yaratamiz . ? ) yoki faqat o‘qish uchun belgilashimiz mumkin , shuningdek ularni olib tashlashimiz mumkin. Minus ( – ) operatori — maxsus turdagi operator faqat xaritalangan turlarda mavjud — biz bekor qila olamizmi ? va faqat o'qish uchun maydonlarni talab qilinadi va mos ravishda yana yoziladi. Bu yerda biz ReadonlyAccount bo‘yicha xaritalash va minus ( – ) operatori bilan faqat o‘qish modifikatorini olib tashlash orqali Hisob turiga ekvivalent bo‘lgan yangi Account2 obyekt turini yaratamiz. OptionalAccount bo‘yicha xaritalash va minus ( – ) operatori bilan ixtiyoriy ( ? ) operatorini olib tashlash orqali original Hisob turiga ekvivalent yangi Account3 obyekt turini yaratamiz . M inus ( – ) mos keladigan plyus ( + ) tipidagi operatorga ega. Ehtimol, siz bu operatordan hech qachon to'g'ridan-to'g'ri foydalana olmaysiz, chunki u nazarda tutilgan: xaritalangan turdagi ichida faqat o'qish uchun +readonly ga teng va ? ga teng ? . + faqat to'liqlik uchun mavjud. O'rnatilgan xaritalashtirilgan turlarOxirgi bo'limda olingan xaritalangan turlar shunchalik foydaliki, TypeScript ularning ko'pchiligi o'rnatilgan: Yozuv Keys tipidagi kalitlarga va Values tipidagi qiymatlarga ega ob'ekt Qisman Ob'ektdagi har bir maydonni ixtiyoriy deb belgilaydi Majburiy Ob'ektdagi har bir maydonni ixtiyoriy emas deb belgilaydi Faqat o'qish Ob'ektdagi har bir maydonni faqat o'qish uchun belgilaydi Ob'ektning pastki turini faqat berilgan Kalitlar bilan qaytaradi Download 1.81 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling