⊗tsSpGnIms 35 of 37 menu

Begrensninger på generiske typer i TypeScript

I en av de foregående leksjonene opprettet vi en funksjon av generisk type som skulle skrive ut lengden på parameteren som ble sendt inn. Men under kompilering fikk vi en feil, siden ikke alle typer kan ha en lengde:

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

Den gangen løste vi situasjonen ved å endre den generiske typen til en generisk array-type. Men i TypeScript er det mulighet til å opprette begrensninger for generiske typer. For å gjøre dette skriver vi nøkkelordet extends etter variabelen T i vinkelparentesene. Etter det skriver vi en ny variabel str av strengtype i krøllparentesene. Resten av koden i funksjonen forblir uendret:

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

Det betyr at den generiske typen arver typen til variabelen str, spesifisert i krøllparentesene. La oss nå sjekke hvordan funksjonen vår fungerer og opprette en variabel myStr, som refererer til typen str, og tilordne den en verdi i krøllparenteser:

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

La oss kalle funksjonen myFunc, uten å glemme å spesifisere typen på nytt, og sende variabelen myStr som en parameter:

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

Basert på eksemplet som ble vist i leksjonen, definer en funksjon for å finne lengden av en numerisk array.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis