menu

Mbingarkimet e Funksioneve në TypeScript

Ndonjëherë hasim funksione që kthejnë vlera, lloji i të cilave varet nga parametrat e kaluar. Për këtë në TypeScript përdoret mbingarkimi i funksioneve. Ai lejon të përcaktohen variante të ndryshme të nënshkrimeve të funksionit.

Le të shohim një shembull. Le të themi se kemi një funksion që ndan karakteret e një vargu në një grup shkronjash:

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

Le të themi gjithashtu se kemi një funksion që ndan shifrat e një numri në një grup numrash:

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

Le të kombinojmë të dy funksionet në një. Funksioni i ri në varësi të llojit të parametrit duhet të kthejë ose një grup numrash ose një grup vargjesh.

Le të përdorim mbingarkim për të deklaruar nënshkrime të ndryshme të funksionit tonë:

function splitVal(val: number): number[]; function splitVal(val: string): string[] { // implementimi i të dy nënshkrimeve }

Le të shkruajmë tani implementimin e funksionit. Në kodin e tij ne duhet të përcaktojmë me kusht, cila nënshkrim i funksionit u aktivizua, dhe në varësi të kësaj të ekzekutojmë kodin e nevojshëm me një rezultat të llojit të duhur:

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); } }

Ndryshe nga gjuhët e tjera, në TypeScript në mbingarkim krijohet një funksion i vetëm. Nuk mund të bëhen disa funksione me një emër, por me nënshkrime të ndryshme.

Shkruani një funksion që do të kthejë ose modifikojë tekstin e një elementi DOM. Ai duhet të funksionojë si më poshtë:

text('#elem', 'text'); // do të vendosë tekstin text('#elem'); // do të kthejë tekstin aktual
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