⊗tsSpGnIms 35 of 37 menu

Ograniczenia generyków w TypeScript

W jednej z poprzednich lekcji tworzyliśmy funkcję typu generycznego, która miała wyświetlać długość przekazanego do niej parametru. Jednak podczas kompilacji otrzymaliśmy błąd, ponieważ nie wszystkie typy mogą mieć długość:

function myFunc < T > (data: T): T { console.log(data.length); // błąd return data; }

W tamtym przypadku naprawiliśmy sytuację, zmieniając typ generyczny na typ tablicy generycznej. Ale w TypeScript istnieje możliwość stworzenia ograniczeń generyków. Aby to zrobić, w nawiasach ostrych, po zmiennej T piszemy słowo kluczowe extends. Po nim w nawiasach klamrowych zapisujemy nową zmienną str typu łańcuchowego. Reszta kodu funkcji pozostanie bez zmian:

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

Okazuje się, że typ generyczny dziedziczy typ zmiennej str, określonej w nawiasach klamrowych. Teraz sprawdźmy działanie naszej funkcji i stwórzmy zmienną myStr, odnoszącą się do typu str, i ustawmy jej wartość w nawiasach klamrowych:

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

Wywołajmy funkcję myFunc, nie zapominając ponownie określić jej typu i przekażmy zmienną myStr jako parametr:

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

Na podstawie przykładu, rozpatrzonego w lekcji, określ funkcję do znajdowania długości tablicy numerycznej.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć