Programming TypeScript
turi UserTextEvent = { qiymat : string } turi
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
- Bu sahifa navigatsiya:
- , maqsad : HTMLInputElement
turi UserTextEvent = { qiymat : string } turi UserMouseEvent = { qiymat : [ raqam , raqam ]} turi UserEvent = UserTextEvent | UserMouseEvent
funktsiyasi tutqich ( hodisa : UserEvent ) { if ( typeof voqea . qiymat === 'string' ) { voqea . qiymat // qator // ... qaytish } voqea . qiymat // [raqam, raqam] } If blokining ichida TypeScript event.value satr bo'lishi kerakligini biladi ( chek turi tufayli ), bu esa if blokidan keyin event.value [raqam, raqam] korteji bo'lishi kerakligini bildiradi ( qaytish tufayli). if blokida ). Agar biz buni biroz murakkablashtirsak nima bo'ladi? Keling, tadbir turlariga qo'shimcha ma'lumot qo'shamiz va turlarimizni aniqlaganimizda TypeScript qanday narxlarda bo'lishini ko'rib chiqamiz: turi UserTextEvent = { qiymat : string , maqsad : HTMLInputElement } turi UserMouseEvent = { qiymat : [ raqam , raqam ] , maqsad : HTMLElement } turi UserEvent = UserTextEvent | UserMouseEvent funktsiyasi tutqich ( hodisa : UserEvent ) { if ( typeof voqea . qiymat === 'string' ) { voqea . qiymat // qator voqea . maqsad // HTMLInputElement | HTMLElement (!!!) // ... qaytish } voqea . qiymat // [raqam, raqam] voqea . maqsad // HTMLInputElement | HTMLElement (!!!) } Takomillashtirish event.value uchun ishlagan bo'lsa-da, u event.target ga o'tmadi . Nega? Agar tutqich UserEvent tipidagi parametrni qabul qilsa , bu biz UserTextEvent yoki UserMouseEvent ni o'tkazishimiz kerak degani emas — aslida UserMouseEvent | tipidagi argumentni o'tkazishimiz mumkin. UserTextEvent . Va birlashma a'zolari bir-biriga mos kelishi mumkinligi sababli, TypeScript biz birlashma turi bilan boshqa holatda ekanligimizni bilishning yanada ishonchli usulini talab qiladi. Buning yo'li, birlashma turining har bir holatini belgilash uchun so'zma-so'z turdan foydalanishdir. Yaxshi belgi: Birlashma turining har bir holatida bir xil joyda. Bu, agar ob'ekt turlari birlashmasi bo'lsa, bir xil ob'ekt maydoni yoki kortej turlari birlashmasi bo'lsa, bir xil indeks degan ma'noni anglatadi. Amalda, teglangan birlashmalar odatda ob'ekt turlaridan foydalanadi. Literal tip sifatida yoziladi (harf satr, raqam, mantiqiy va boshqalar). Siz har xil turdagi harflarni aralashtirishingiz va moslashtirishingiz mumkin, ammo bitta turga yopishib olish yaxshi amaliyotdir; odatda, bu string literal turi. Umumiy emas. Teglar umumiy turdagi argumentlarni qabul qilmasligi kerak. O'zaro eksklyuziv (ya'ni, ittifoq turi ichida yagona). Shuni yodda tutgan holda, keling, tadbir turlarimizni yana yangilaymiz: 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