Programming TypeScript


Download 1.81 Mb.
bet110/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   106   107   108   109   110   111   112   113   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

Yozuv turi


TypeScript-ning o'rnatilgan Record turi ob'ektni biror narsadan biror narsaga xarita sifatida tasvirlash usulidir.
130-betdagi “Jamilik” dagi Hafta kuni misolidan eslaylikki , ob’ekt muayyan kalitlar to‘plamini belgilashini ta’minlashning ikki yo‘li mavjud. Yozuv turlari birinchi o'rinda turadi. Keling , haftaning har kunidan keyingi kungacha xaritani yaratish uchun Record- dan foydalanamiz . Record yordamida siz keyingi kundagi kalitlar va qiymatlarga ba'zi cheklovlar qo'yishingiz mumkin :
turi Hafta kuni = dushanba | 'Shanba' | "chor" | "Pes" | "Jum" turi kun = Hafta kuni | 'shanba' | "Quyosh"
ruxsat bering Keyingi kun : Yozish < Hafta kuni , kun > = {
Dush : "Shanba"
}
Endi siz darhol yaxshi, foydali xato xabarini olasiz:
Xato TS2739: “{Ds: “Tue”}” turida “Record” turidagi quyidagi xususiyatlar yetishmayapti: Sesshanba, Chorshanba, Pays, Juma.
Ob'ektingizga etishmayotgan Weekday s qo'shilishi , albatta, xatolikni yo'qotadi.
Yozuv sizga oddiy ob'ekt indeks imzolariga nisbatan qo'shimcha erkinlik darajasini beradi: oddiy indeks imzosi bilan siz ob'ekt qiymatlarining turlarini cheklashingiz mumkin, lekin kalit faqat oddiy satr, raqam yoki belgi bo'lishi mumkin ; Record yordamida siz ob'ekt kalitlari turlarini qator va raqamning pastki turlariga ham cheklashingiz mumkin .

Xaritalangan turlar


keyingi kunning xavfsizroq turini e'lon qilishning ikkinchi, kuchliroq usulini beradi : xaritalangan turlar. NextDay har bir Weekday uchun kalitga ega , qiymati Day boʻlgan obyekt ekanligini aytish uchun xaritalangan turlardan foydalanamiz :
ruxsat bering keyingi kun : {[ K ichida Hafta kuni ] : Kun } = {
Dush : "Shanba"
}
Bu o'tkazib yuborgan narsani tuzatish bo'yicha foydali maslahat olishning yana bir usuli:
Xato TS2739 : Turi '{Dshanba: "Shanba"}' hisoblanadi yo'qolgan the ergashish dan xossalari turi '{dushanba: haftaning ish kuni; Seshanba: ish kuni; Chorshanba: hafta ichi; Pays: hafta ichi; Juma: Hafta kuni}' : Seshanba , chorshanba , payshanba , juma .
Xaritalangan turlar TypeScript-ga xos til xususiyatidir. To'g'ridan-to'g'ri turlar singari, ular JavaScript-ni statik ravishda yozish kabi qiyinchilik uchun mantiqiy bo'lgan yordamchi xususiyatdir .
Ko'rib turganingizdek, xaritalangan turlarning o'ziga xos sintaksisi mavjud. Indeks imzolari kabi, har bir ob'ekt uchun ko'pi bilan bitta xaritalangan turga ega bo'lishingiz mumkin:

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   106   107   108   109   110   111   112   113   ...   206




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling