⊗tsSpGnTV 30 of 37 menu

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.

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