Programming TypeScript


Download 1.81 Mb.
bet116/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   112   113   114   115   116   117   118   119   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

Bu…

ga teng

string T ni kengaytiradi? A: B

string T ni kengaytiradi? A: B

(string | raqam) T ni kengaytiradi? A: B

(satr T ni kengaytiradi? A : B) | (raqam T ni kengaytiradi? A : B)

(string | raqam | mantiqiy) T ni kengaytiradi? A: B

(satr T ni kengaytiradi? A : B) | (raqam T ni kengaytiradi? A : B) | (mantiqiy T ni kengaytiradi? A : B)

Bilaman, bilaman, siz matematikani o'rganish uchun bu kitobni o'ylamagansiz - siz bu yerda turlar uchunsiz. Shunday qilib, keling, aniqroq bo'lsin. Aytaylik, bizda T tipidagi ba'zi o'zgaruvchilarni oladigan va uni T[] tipidagi massivga ko'taradigan funksiya bor . T uchun birlashma turiga o'tsak nima bo'ladi ?
turi ToArray < T > = T []
turi A = ToArray < raqam > // raqam [] turi B = ToArray < raqam | string > // (raqam | qator)[]
Juda oddiy. Endi shartli tur qo'shsak nima bo'ladi? (E'tibor bering, shart bu erda hech narsa qilmaydi, chunki uning ikkala filiali ham bir xil T[] turiga o'tadi ; bu erda TypeScript-ga tarqatishni aytish uchun. Kortej turi ustida T. ) Ko‘rib chiqing:
turi ToArray2 < T > = T uzaytiradi noma'lum ? T [] : T []
turi A = ToArray2 < raqam > // raqam[]
turi B = ToArray2 < soni | string > // raqam[] | string[]
Buni tushundingizmi? Shartli turdan foydalansangiz, TypeScript birlashma turlarini shartli shoxlarga taqsimlaydi. Bu shartli turni olish va uni birlashmadagi har bir element bo'yicha xaritalash (er, tarqatish ) kabi.
Nima uchun bularning barchasi muhim? Xo'sh, bu sizga bir qator umumiy operatsiyalarni xavfsiz tarzda ifodalash imkonini beradi.
Masalan, TypeScript ikki turdagi umumiy va | ni hisoblash uchun & bilan birga keladi ikki turdagi birlashmani olish uchun. Keling, T da bo'lgan, lekin U da bo'lmagan turlarni hisoblaydigan Without< T , U> ni quraylik .

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   112   113   114   115   116   117   118   119   ...   206




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