⊗tsSpGnIms 35 of 37 menu

Omejitve generikov v TypeScript

V eni izmed prejšnjih lekcij smo ustvarili funkcijo generičnega tipa, ki naj bi izpisala dolžino parametra, ki ji je bil poslan. Med prevajanjem pa smo prejeli napako, ker nimajo vse vrste dolžine:

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

Takrat smo popravili situacijo tako, da smo spremenili generični tip v tip generičnega pole. Toda v TypeScript obstaja možnost ustvariti omejitve generikov. Za to v kotnih oklepajih, za spremenljivko T napišemo ključno besedo extends. Za njo v zavitih oklepajih zapišemo novo spremenljivko str tipa niz. Preostala koda funkcije ostane brez sprememb:

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

Izkazalo se je, da generični tip podeduje tip spremenljivke str, določene v zavitih oklepajih. Zdaj pa preverimo delovanje naše funkcije in ustvarimo spremenljivko myStr, ki se sklicuje na tip str, in ji določimo vrednost v zavitih oklepajih:

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

Pokličimo funkcijo myFunc, ne pozabimo ponovno določiti njenega tipa in poslati spremenljivko myStr kot parameter:

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

Na podlagi primera, obravnavanega v lekciji, nastavite funkcijo za iskanje dolžine številskega polja.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni