Programming TypeScript
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
ruxsat bering va'da = yangi < son > va'da bering ( hal =>
hal qilish ( 45 ) ) va'da . keyin ( natija => // raqam natija * 4 ) Umumiy turdagi taxalluslaryuqoridagi bobdagi Filtr misolimiz bilan umumiy turdagi taxalluslarga to‘xtalib o‘tdik . Agar siz oxirgi bobdagi Array va ReadonlyArray turlarini eslasangiz ( 36-betdagi “Faqat o‘qish uchun massivlar va kortejlar”ga qarang ), ular ham umumiy turdagi taxalluslardir! Keling, qisqacha misol bilan ishlash orqali tipdagi taxalluslarda generiklardan foydalanishni chuqurroq ko'rib chiqaylik. Keling , bosish yoki sichqonchani bosish kabi DOM hodisasini tavsiflovchi MyEvent turini aniqlaylik : turi MyEvent < T > = { maqsad : T turi : string } Shuni esda tutingki, bu tur taxallusidagi umumiy turni e'lon qilish uchun yagona to'g'ri joy: tur taxallus nomidan keyin, uni tayinlashdan oldin ( = ). MyEvent ning maqsad xususiyati voqea sodir bo'lgan elementga ishora qiladi: a , a va hokazo. Masalan, tugma hodisasini quyidagicha tasvirlashingiz mumkin: turi ButtonEvent = MyEvent < HTMLButtonElement > MyEvent kabi umumiy turdan foydalansangiz , turdan foydalanganda uning turi parametrlarini aniq bog'lashingiz kerak; ular siz uchun taxmin qilinmaydi: ruxsat bering myEvent : MyEvent < HTMLButtonElement | null > = { maqsad : document.querySelector ( '#myButton' ), turi : "bosish" } MyEvent-dan boshqa turni yaratish uchun foydalanishingiz mumkin , masalan, TimedEvent . TimedEventdagi umumiy T bog'langanda, TypeScript uni MyEvent bilan ham bog'laydi : turi TimedEvent < T > = { hodisa : MyEvent < T > dan : Sana Kimga : Sana } Funktsiya imzosida umumiy turdagi taxallusdan ham foydalanishingiz mumkin. TypeScript turini T ga bog'laganda , u siz uchun MyEvent bilan ham bog'laydi: funktsiyasi triggerEvent < T > ( hodisa : MyEvent < T > ) : bekor { // ... } triggerEvent ({ // T - Element | null maqsad : document.querySelector ( '#myButton' ), turi : "sichqonchani ko'tarish" }) Keling, bu erda nima sodir bo'layotganini bosqichma-bosqich ko'rib chiqaylik: ob'ekt bilan triggerEvent chaqiramiz . TypeScript bizning funktsiyamiz imzosiga ko'ra, biz uzatgan argument MyEvent biz o'tkazgan ob'ektning maqsadli maydoni document.querySelector('#myButton') ekanligini ta'kidlaydi . Bu shuni anglatadiki, T har qanday turdagi document.querySelector('#myButton') bo'lishi kerak : Element | null . Shunday qilib, T endi Element | ga bog'langan null . TypeScript o'tadi va har bir T hodisasini Element | bilan almashtiradi null . TypeScript barcha turlarimiz tayinlanishga mos kelishini tekshiradi. Ular shunday qilishadi, shuning uchun bizning kodimiz turini tekshiradi. 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