Programming TypeScript
funksiya * raqamlarni yaratish () : IterableIterator < raqam
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
- Bu sahifa navigatsiya:
- Takrorlash mumkin
funksiya * raqamlarni yaratish () : IterableIterator < raqam > {
ruxsat bering n = 0 while ( 1 ) { hosil n ++ } } ruxsat bering raqamlar = raqamlar yaratish () raqamlar . keyingi () // {qiymat: 0, bajarildi: noto'g'ri} raqamlarni baholaydi . keyingi () // {qiymat: 1, bajarildi: noto'g'ri} raqamlarni baholaydi . keyingi () // {qiymat: 2, bajarildi: noto'g'ri} ga baholanadi Biz bu kitobda generatorlarni chuqurroq o'rganmaymiz - ular katta mavzu va bu kitob TypeScript haqida bo'lgani uchun men JavaScript xususiyatlaridan chetga chiqishni xohlamayman. Qisqasi, bu juda ajoyib JavaScript tili xususiyati bo'lib, TypeScript ham qo'llab-quvvatlaydi. Generatorlar haqida ko'proq ma'lumot olish uchun ularning MDN -dagi sahifasiga o'ting . Iteratorlar Iteratorlar generatorlarning ikkinchi tomonidir: generatorlar qiymatlar oqimini ishlab chiqarish usuli bo'lsa, iteratorlar bu qiymatlarni iste'mol qilish usulidir. Terminologiya juda chalkash bo'lishi mumkin, shuning uchun keling, bir nechta ta'riflardan boshlaylik. Takrorlash mumkinSymbol.itera tor deb nomlangan xususiyatni o'z ichiga olgan har qanday ob'ekt , uning qiymati iteratorni qaytaruvchi funktsiyadir. Iteratorqiymatiga ega ob'ektni qaytaradigan va bajarilgan keyingi deb nomlangan usulni belgilaydigan har qanday ob'ekt . Generator yaratganingizda (masalan, createFibonacciGenerator ga qo'ng'iroq qilish orqali), siz ham takrorlanadigan, ham iterator bo'lgan qiymatni qaytarib olasiz , chunki u Symbol.iterator xususiyatini ham, keyingi usulni ham belgilaydi. Symbol.iterator yoki next ni amalga oshiradigan ob'ekt (yoki sinf) yaratish orqali iterator yoki iteratorni qo'lda belgilashingiz mumkin . Masalan, 1 dan 10 gacha raqamlarni qaytaruvchi iteratorni aniqlaymiz: ruxsat bering raqamlar = { * [ Belgi . iterator ]() { uchun ( ruxsat n = 1 ; n <= 10 ; n ++ ) { Yo'l bering n } } } Agar siz ushbu iteratorni kod muharriringizga kiritsangiz va kursorni uning ustiga olib kelsangiz, TypeScript uning turi sifatida nimani anglatishini ko'rasiz ( 4-2-rasm ). 4-2-rasm. Iteratorni qo'lda aniqlash Boshqacha qilib aytadigan bo'lsak, raqamlar takrorlanuvchidir va generator funktsiyasini raqamlar[Symbol.iterator]() chaqirish takrorlanadigan iteratorni qaytaradi. Siz nafaqat o'zingizning iteratorlaringizni belgilashingiz mumkin, balki JavaScript-ning o'rnatilgan iteratorlaridan umumiy to'plam turlari uchun foydalanishingiz mumkin - Array , Map , Set , String va boshqalar - quyidagi kabi ishlarni bajarish uchun :18 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