Programming TypeScript


funktsiyasi isString ( a : noma'lum ) : a hisoblanadi string


Download 1.81 Mb.
bet115/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   111   112   113   114   115   116   117   118   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

funktsiyasi isString ( a : noma'lum ) : a hisoblanadi string {
qaytish turiof a === 'string' }
Tur himoyachilari o'rnatilgan TypeScript xususiyati bo'lib, sizga typeof va instanceof bilan turlarni yaxshilash imkonini beradi . Ammo ba'zida sizga qo'riqchilar turini o'zingiz e'lon qilish qobiliyati kerak bo'ladi - bu operator uchun. Agar sizda uning parametrlari turlarini aniqlaydigan va mantiqiy qiymatini qaytaradigan funksiya mavjud bo'lsa , siz ushbu funktsiyadan foydalanganda aniqlashtirish oqimini ta'minlash uchun foydalanuvchi tomonidan belgilangan turdagi himoya vositasidan foydalanishingiz mumkin.
Foydalanuvchi tomonidan belgilangan turdagi himoyachilar bitta parametr bilan cheklangan, ammo ular oddiy turlar bilan cheklanmaydi:
turi LegacyDialog = // ... turi Dialog = // ...
funktsiyasi isLegacyDialog ( muloqot oynasi : LegacyDialog | Dialog ) : dialog oynasi hisoblanadi LegacyDialog { // ...
}
Siz foydalanuvchi tomonidan belgilangan turdagi himoya vositalaridan tez-tez foydalanmaysiz, lekin buni qilganingizda, ular toza, qayta ishlatilishi mumkin bo'lgan kod yozish uchun ajoyib bo'ladi. Ularsiz, xuddi shu tekshiruvlarni yaxshiroq inkapsullangan va o‘qilishi mumkin bo‘lgan tarzda bajarish uchun isLegacyDialog va isString kabi funksiyalarni qurish o‘rniga, barcha turdagi va instanceof tipidagi qo‘riqchilarni qatorga kiritishingiz kerak bo‘ladi .

Shartli turlar


Shartli turlar barcha TypeScript-dagi yagona eng noyob xususiyat bo'lishi mumkin. Yuqori darajada shartli turlar sizga shunday deyishga imkon beradi: “ U turiga bog'liq bo'lgan T turini e'lon qiling
va V ; agar U <: V bo'lsa , u holda T ni A ga , aks holda T ni B ga belgilang . Kodda u shunday ko'rinishi mumkin:
turi IsString < T > = T uzaytiradi ip

? rost
: yolg'on
turi A = IsString < string > // haqiqiy turi B = IsString < raqam > // false Buni satr satrga ajratamiz.
T turini oladigan yangi shartli IsString turini e'lon qilamiz . Bu shartli turning “shart” qismi T stringni kengaytiradi ; ya'ni, " T stringning kichik turimi ?"

Agar T satrning pastki turi bo'lsa , biz true turini hal qilamiz .
false turini hal qilamiz .
Sintaksis qanday ko'rinishiga e'tibor bering, oddiy qiymat darajasidagi uchlik ifodaga o'xshaydi, lekin tur darajasida. Oddiy uchlik iboralar singari, siz ham ularni joylashtirishingiz mumkin.
Shartli turlar
Shartli turlar tipdagi taxalluslar bilan cheklanmaydi. Siz ulardan deyarli har qanday joyda foydalanishingiz mumkin, siz turdan foydalanishingiz mumkin: turdagi taxalluslar, interfeyslar, sinflar, parametr turlari va funktsiyalar va usullardagi umumiy standart sozlamalar. Tarqatuvchi shartlar
TypeScript-da biz ko'rib chiqqan misollar kabi oddiy shartlarni turli yo'llar bilan ifodalashingiz mumkin bo'lsa-da, shartli turlar, haddan tashqari yuklangan funksiya imzolari va xaritalangan turlar bilan - shartli turlar sizga ko'proq narsani qilishga imkon beradi. Buning sababi shundaki, ular distributiv qonunga amal qiladilar (esingizdami, algebra darsidan?). Bu degani, agar sizda shartli tur bo'lsa, unda o'ngdagi iboralar 6-1-jadvaldagi chapdagilarga teng .
6-1-jadval. Shartli turlarni taqsimlash


Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   111   112   113   114   115   116   117   118   ...   206




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