⊗tsSpGnTV 30 of 37 menu

Variablat e Tipit në TypeScript

Për një kuptim më të mirë të konceptit të gjenerikëve le të krijojmë funksionin tonë të parë - funksionin e identitetit. Ky funksion kthen saktësisht atë që i është kaluar - me të njëjtin tip.

Le të shkruajmë fillimisht variantet e funksionit tonë veç e veç.

Le të shkruajmë një funksion që pranon një numër si parametër dhe kthen një numër:

function func(data: number): number { return data; }

Tani le të shkruajmë një funksion që pranon një varg si parametër dhe kthen një varg:

function func(data: string): string { return data; }

Supozoni tani që duam që e njëjta funksion të bëjë të gjitha këto. Domethënë, ne duam të kryejmë gjenerifikim.

Për këtë, ne përdorim një variabël të tipit, që ruan brenda saj tipin e të dhënave. Një variabël e tillë deklarohet në kllapat këndore përpara kllapave të rrumbullakëta me parametrat e funksionit. Le të deklarojmë një variabël të tillë, duke i dhënë emrin T (mund të jetë çfarëdo):

function func <T>(këtu parametrat) { return data; }

Pas kësaj, ne do të kemi një variabël T, që mund të përdoret për të ruajtur tipin e parametrit, dhe pastaj të përcaktohet atë si tip i vlerës së kthyer.

Le t'i caktojmë parametrit tonë tipin si variablin tonë:

function func <T>(data: T) { return data; }

Do të ndodhë që parametri mund të kalohet në çdo tip, dhe ai tip do të ruhet në variablin tonë T.

Tani le të përdorim vlerën e variablit T për të përcaktuar rezultatin e funksionit:

function func <T>(data: T): T { return data; }

Tani do të ndodhë që tipi i rezultatit të funksionit do të merret nga tipi i parametrit. Le ta testojmë.

Le ta thërrasim funksionin me një numër:

console.log( func(3) ); // nxjerr 3

Le ta thërrasim funksionin me një varg:

console.log( func('x') ); // nxjerr 'x'

Krijoni një funksion që si parametër pranon ose dy numra, ose dy vargje. Si rezultat, funksioni duhet të kthejë shumën e parametrave.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo