⊗tsSpGnIms 35 of 37 menu

Ograničenja generika u TypeScript-u

U jednoj od prethodnih lekcija kreirali smo funkciju generičkog tipa koja je trebalo da vrati dužinu prosleđenog parametra. Međutim, pri kompajliranju smo dobili grešku, pošto nemaju svi tipovi dužinu:

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

Tada smo situaciju ispravili tako što smo promenili generički tip u tip generičkog niza. Ali u TypeScript-u postoji mogućnost da se stvore ograničenja generika. Za to u uglastim zagradama, posle promenljive T pišemo ključnu reč extends. Posle nje u vitičastim zagradama upisujemo novu promenljivu str tipa string. Ostatak koda funkcije ostaje bez izmena:

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

Ispostavlja se da generički tip nasleđuje tip promenljive str, navedene u vitičastim zagradama. Sada hajde da proverimo rad naše funkcije i kreiramo promenljivu myStr, koja referiše na tip str, i dodelimo joj vrednost u vitičastim zagradama:

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

Hajde da pozovemo funkciju myFunc, ne zaboravljajući ponovo da navedemo njen tip i prosledimo promenljivu myStr kao parametar:

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

Na osnovu primera razmatranog u lekciji, postavite funkciju za pronalaženje dužine numeričkog niza.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij