⊗tsSpGnIms 35 of 37 menu

Restricciones de genéricos en TypeScript

En una de las lecciones anteriores, creamos una función de tipo genérico que debía mostrar la longitud del parámetro pasado en ella. Sin embargo, durante la compilación nos apareció un error, ya que no todos los tipos pueden tener longitud:

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

En ese caso, solucionamos la situación cambiando el tipo genérico por un tipo de array genérico. Pero en TypeScript existe la posibilidad de crear restricciones para los genéricos. Para ello, en los corchetes angulares, después de la variable T escribimos la palabra clave extends. Después de ella, entre llaves, anotamos una nueva variable str de tipo string. El resto del código de la función permanecerá sin cambios:

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

Resulta que el tipo genérico hereda el tipo de la variable str, especificada entre llaves. Ahora comprobemos el trabajo de nuestra función y creemos la variable myStr, que hace referencia al tipo str, y asignémosle un valor entre llaves:

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

Llamemos a la función myFunc, sin olvidar especificar nuevamente su tipo y pasemos la variable myStr como parámetro:

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

Basándose en el ejemplo considerado en la lección, defina la función para encontrar la longitud de un array numérico.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar