Vigezo vya Aina za Kawaida katika TypeScript
Kwa uelewa bora wa dhana ya generics tuunde yetu kwanza - kitambulishi cha kutenda. Kitendaji kama hiki kinarudisha hasa kile ulichoweka - kwa aina ile ile.
Kwanza tuandike matoleo ya kitendahi chetu kwa kutengana.
Tuandike kitendaji ambacho kinakubali nambari kama kigezo na kurudisha nambari:
function func(data: number): number {
return data;
}
Sasa tuandike kitendaji ambacho kinakubali herufi kama kigezo na kurudisha herufi:
function func(data: string): string {
return data;
}
Sasa tuseme tunataka kufanya hivi yote ifanyike na kitendaji kimoja. Yaani sisi tunataka kutekeleza ujumla.
Kwa hili tutatumia kigezo cha aina ya kawaida
, ambacho huhifadhi aina ya data. Kigezo kama hicho
hutangazwa
katika mabano ya pembe kabla ya mabano ya duara
na vigezo vya kitendaji. Wacha tutangaze
kigezo kama hicho, tukikipa jina T
(inaweza kuwa jina lolote):
function func <T>(hapa vigezo) {
return data;
}
Baada ya hili tutakuwa na kigezo T,
ambacho kitaweza kutumiwa, ili
kuweka ndani yake aina ya kigezo, na kisha
kuonyesha
kama aina ya thamani inayorudishwa.
Wacha tuonyeshe kigezo chetu kwa aina kama kigezo chetu:
function func <T>(data: T) {
return data;
}
Itatokea kwamba kigezo kinaweza kupitishwa
kwa aina yoyote, na aina hii itahifadhiwa kwenye kigezo chetu T.
Sasa tumia thamani ya kigezo T
kama kiashiria cha matokeo ya kitendaji:
function func <T>(data: T): T {
return data;
}
Sasa itatokea kwamba aina ya matokeo ya kitendaji itapatikana kutoka kwa aina ya kigezo. Wacha tuihakikishie.
Wacha tuite kitendaji kwa nambari:
console.log( func(3) ); // itatoa 3
Wacha tuite kitendaji kwa herufi:
console.log( func('x') ); // itatoa 'x'
Fanya kitendaji ambacho kinakubali ama nambari mbili, ama herufi mbili kama kigezo. Kitendaji kinapaswa kurudisha jumla ya vigezo.