⊗tsSpGnIms 35 of 37 menu

Limitări ale genericității în TypeScript

Într-una din lecțiile anterioare am creat o funcție de tip generic care trebuia să afișeze lungimea parametrului transmis în ea. Cu toate acestea, la compilare am primit o eroare, deoarece nu toate tipurile pot avea lungime:

function myFunc < T > (data: T): T { console.log(data.length); // eroare return data; }

În acel caz, am remediat situația, schimbând tipul generic în tipul unui array generic. Dar în TypeScript există posibilitatea de a crea limitări pentru generice. Pentru a face acest lucru, în parantezele unghiulare, după variabila T scriem cuvântul cheie extends. După acesta în acolade scriem o nouă variabilă str de tip string. Restul codului funcției rămâne neschimbat:

function myFunc <T extends {str: string}> (data: T): void { console.log(data.str.length); }

Rezultă că tipul generic moștenește tipul variabilei str, specificată în acolade. Acum să verificăm funcționarea funcției noastre și să creăm o variabilă myStr, care face referire la tipul str, și să îi dăm o valoare în acolade:

let myStr: {str: string} = {str: 'abcde'};

Să apelăm funcția myFunc, fără a uita să indicăm din nou tipul ei și să transmitem variabila myStr ca parametru:

myFunc <{str: string}> (myStr);

Pe baza exemplului analizat în lecție, definiți o funcție pentru găsirea lungimii unui array numeric.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge