⊗tsSpGnIms 35 of 37 menu

Limitations des génériques en TypeScript

Dans l'une des leçons précédentes, nous avons créé une fonction de type générique qui devait afficher la longueur du paramètre qui lui était transmis. Cependant, lors de la compilation, une erreur est survenue, car tous les types ne peuvent pas avoir de longueur :

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

À cette occasion, nous avons corrigé la situation en modifiant le type générique en type de tableau générique. Mais TypeScript offre la possibilité de créer des contraintes sur les génériques. Pour cela, après la variable T dans les chevrons, nous écrivons le mot-clé extends. Après celui-ci, dans des accolades, nous enregistrons une nouvelle variable str de type chaîne de caractères. Le reste du code de la fonction restera inchangé :

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

Ainsi, le type générique hérite du type de la variable str, spécifiée dans les accolades. Maintenant, vérifions le fonctionnement de notre fonction et créons une variable myStr, se référant au type str, et assignons-lui une valeur entre accolades :

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

Appelons la fonction myFunc, sans oublier de spécifier à nouveau son type et passons la variable myStr comme paramètre :

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

Sur la base de l'exemple examiné dans la leçon, définissez une fonction pour trouver la longueur d'un tableau numérique.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser