turi A = raqam | string turi B = ip
turi C = < A , B > istisno qiling // raqam
Extract
U ga belgilashingiz mumkin bo'lgan T dagi turlarni hisoblaydi :
turi A = raqam | string turi B = ip
turi C = < A , B > ekstrakti // qator
Nonnullable
Null va undefined ni istisno qiladigan T versiyasini hisoblaydi :
turi A = { a? : raqam | null } turi B = Nonullable < A [ 'a' ] > // raqam
ReturnType
Funktsiyaning qaytish turini hisoblaydi (esda tutingki, bu umumiy va haddan tashqari yuklangan funksiyalar uchun siz kutganingizdek ishlamaydi):
turi F = ( a : raqam ) => string turi R = Qaytish turi < F > // qator
InstanceType
Sinf konstruktorining namuna turini hisoblaydi:
turi A = { yangi () : B } turi B = { b : raqam }
turi I = InstanceType < A > // {b: raqam}
Qochish lyuklari
Ba'zida biror narsani mukammal yozishga vaqtingiz bo'lmaydi va siz shunchaki TypeScript qilayotgan ishingiz xavfsiz ekanligiga ishonishini xohlaysiz. Ehtimol siz foydalanayotgan uchinchi tomon moduli uchun turdagi deklaratsiya noto‘g‘ri va siz DefinitelyTyped-ga tuzatish kiritishdan oldin kodingizni sinab ko‘rmoqchisiz 31yoki siz API-dan ma’lumotlarni olayotgandirsiz va Apollo bilan turdagi deklaratsiyalarni qayta tiklamagansiz. hali.
Yaxshiyamki, TypeScript biz faqat inson ekanligimizni biladi va biz shunchaki biror narsa qilishni xohlayotganimizda va TypeScript-ga uning xavfsiz ekanligini isbotlashga vaqtimiz bo'lmaganda bizga bir nechta qochish lyuklarini beradi.
A gar bu aniq bo'lmasa, siz quyidagi TypeScript xususiyatlaridan iloji boricha kamroq foydalanishingiz kerak. Agar siz ularga tayanayotganingizni ko'rsangiz, siz noto'g'ri ish qilyapsiz.
Tasdiqlashlarni yozing
B va A <: B <: C toifalari bo'lsa , u holda siz yozuvchiga B ning aslida A yoki C ekanligini tasdiqlashingiz mumkin . Shunisi e'tiborga loyiqki, siz faqat turning supertip yoki o'zining pastki turi ekanligini ta'kidlashingiz mumkin - masalan, raqam qator ekanligini tasdiqlay olmaysiz , chunki bu turlar o'zaro bog'liq emas.
TypeScript bizga turdagi tasdiqlar uchun ikkita sintaksisni beradi:
Do'stlaringiz bilan baham: |