⊗tsSpGnIms 35 of 37 menu

Beperkingen van generieken in TypeScript

In een van de vorige lessen hebben we een functie van een algemeen type gemaakt die de lengte van de parameter die erin werd doorgegeven moest uitvoeren. Tijdens compilatie kregen we echter een foutmelding, omdat niet alle typen een lengte kunnen hebben:

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

In dat geval hebben we de situatie gecorrigeerd door het algemene type te wijzigen in het type van een generieke array. Maar in TypeScript is er een mogelijkheid om beperkingen voor generieken te creëren. Om dit te doen schrijven we in de hoekige haakjes, na de variabele T het sleutelwoord extends. Daarna schrijven we in accolades een nieuwe variabele str van het type string. De rest van de code van de functie blijft onveranderd:

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

Het blijkt dat het generieke type het type erft van de variabele str, gespecificeerd in de accolades. Laten we nu de werking van onze functie controleren en een variabele myStr maken, die verwijst naar het type str, en geven we er een waarde aan in accolades:

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

Laten we de functie myFunc aanroepen, zonder vergeten opnieuw het type ervan op te geven, en geven we de variabele myStr door als parameter:

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

Op basis van het voorbeeld dat in de les is besproken, definieer een functie voor het vinden van de lengte van een numerieke array.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren