Programming TypeScript


interfeys Variant < T > {} sinf


Download 1.81 Mb.
bet134/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   130   131   132   133   134   135   136   137   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

interfeys Variant < T > {} sinf Ba'zilari < T > asboblar Variant < T > { konstruktor ( xususiy qiymat : T ) {}

} sinf Yo'q asboblar Variant < hech qachon > {}

Option - bu biz Some va None o'rtasida baham ko'radigan interfeys .
Some qiymatga olib keladigan muvaffaqiyatli operatsiyani ifodalaydi. Biz ilgari ishlatgan massiv singari, Some bu qiymat uchun konteynerdir.
Hech biri muvaffaqiyatsiz bo'lgan operatsiyani bildirmaydi va qiymatni o'z ichiga olmaydi. Ushbu turlar massivga asoslangan Variantni amalga oshirishda quyidagilarga teng :

  • Variant [ T] | [] .

  • Ba'zi [T] dir .

  • Hech biri [] emas .

Variant bilan nima qila olasiz ? Yalang suyaklarni amalga oshirish uchun biz faqat ikkita operatsiyani aniqlaymiz: flatMap
getOrElse opsiyasida operatsiyalarni zanjirlash usuli
Variantdan qiymat olish usuli
Option interfeysimizda belgilashdan boshlaymiz , ya'ni Some va None ular uchun aniq amalga oshirishni ta'minlashi kerak bo'ladi:
interfeys Variant < T > {
flatMap < U > ( f : ( qiymat : T ) => Variant < U > ) : Variant < U >
getOrElse ( qiymati : T ) : T
}
sinf Ba'zilari < T > uzaytiradi Variant < T > { konstruktor ( xususiy qiymat : T ) {}
}
sinf Yo'q uzaytiradi Variant < hech qachon > {} Ya'ni:

  • flatMap f funksiyani oladi , u T tipidagi qiymatni ( variant tarkibidagi qiymat turi ) oladi va U variantini qaytaradi . flatMap opsiya qiymati bilan f ni chaqiradi va yangi Variantni qaytaradi .

  • getOrElse Option o‘z ichiga olgan qiymat bilan bir xil T turidagi standart qiymatni oladi va o‘sha standart qiymatni (agar Variant bo‘sh Yo‘q bo‘lsa ) yoki Variant qiymatini (agar Variant Some bo‘lsa ) qaytaradi. .

Turlardan kelib chiqqan holda, keling, Some va None uchun ushbu usullarni amalga oshiramiz :

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   130   131   132   133   134   135   136   137   ...   206




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