menu

Uvunjaji wa Kazi katika TypeScript

Wakati mwingine kuna kazi ambazo hubadilisha thamani, aina yake inategemea vigezo vilivyo pitishwa. Kwa hili katika TypeScript hutumia uvunjaji wa kazi. Hii inaruhusu kubainisha tofauti za sahihi za mwonekano wa kazi.

Tuangalie kwa mfano. Hebu tuseme tuna kazi inayogawanya herufi za mfuatano kuwa safu ya herufi:

function splitStr(str: string): string[] { return str.split(''); }

Hebu tuseme pia tuna kazi ambayo inagawanya tarakimu za nambari kuwa safu ya nambari:

function splitNum(num: number): number[] { let str: string = String(num); let arr: string[] = str.split(''); return arr.map(elem => +elem); }

Hebu tuunganishe kazi zote mbili kuwa moja. Kazi mpya kulingana na aina ya kigezo inapaswa kurudisha ama safu ya nambari au safu ya mifuatano.

Tutumie uvunjaji, kubainisha tofauti za sahihi za mwonekano wa kazi yetu:

function splitVal(val: number): number[]; function splitVal(val: string): string[] { // utekelezaji wa sahihi zote mbili }

Sasa tuandike utekelezaji wa kazi. Katika msimbo wake lazima tuamue kwa hali, ipi kati ya sahihi za mwonekano wa kazi imefanya kazi, na kulingana na hilo tuanzishe msimbo unaohitajika na matokeo ya aina inayohitajika:

function splitVal(val: number): number[]; function splitVal(val: string): string[] { if (typeof val === 'string') { return val.split(''); } else { let str: string = String(val); let arr: string[] = str.split(''); return arr.map((elem: string): number => +elem); } }

Tofauti na lugha zingine, katika TypeScript katika uvunjaji huundwa kazi moja. Haiwezekani kufanya kazi nyingi kwa jina moja, lakini kwa sahihi tofauti za mwonekano.

Andika kazi, ambayo itarudisha au kubadilisha maandishi ya kipengele cha DOM. Inapaswa kufanya kazi kama ifuatavyo:

text('#elem', 'text'); // itaweka maandishi text('#elem'); // itarudisha maandishi ya sasa
Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa